www.elektronik.si
Excel

www.elektronik.si -> MS Windows razprave

Avtor: rimciKraj: Prekmurje PrispevekObjavljeno: Sob Sep 09, 2017 10:07 pm    Naslov sporočila:  Excel
----------------------------------------------------------------------------
Pozdravljeni

Imam en problem. Z makrojem želim shranit excelov list, ki bi imel ime delovnega zvezka z končnico txt. To probam narediti z funkcijo MID pa mi ne uspe.
Koda:
ActiveSheet.SaveAs Filename:= _
            ThisWorkbook.Path & "\" & Mid(ActiveWorkbook.Name, 0, 4) & ".txt", FileFormat:= _
            xlTextPrinter, CreateBackup:=False


Kaj delam narobe?
Ali pa bi to lahko naredil na kak drug način (z kako drugo funkcijo)

Hvala za pomoč

Avtor: mkezmahKraj: Maribor PrispevekObjavljeno: Pon Sep 11, 2017 7:37 am    Naslov sporočila:  
----------------------------------------------------------------------------
Hm...

Prvič: MID ti ne vrne imena excelovega lista, ampak definirano število znakov iz stringa (v tvojem primeru 4 znake čisto od začetka stringa). Če ime nima vsaj štirih znakov, že imaš problem.

Drugič: Poskusi nehat mešati reference. Najprej imaš ActiveSheet, potem imaš ThisWorkbook, potem imaš ActiveWorkbook (poudarek na Active vs This). Kaj boš uporabil je odvisno od tega, kdaj/na kak način zaganjaš makro.

Tukaj imaš naštetih 10 načinov, kako se lahko sklicuješ na delovni zvezek:
http://www.techrepublic.com/blog/10-things/10-ways-to-reference-excel-workbooks-and-sheets-using-vba/

Avtor: rimciKraj: Prekmurje PrispevekObjavljeno: Pon Sep 11, 2017 12:38 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Ne uspem rešit. Spodnja koda mi shrani aktivni list z imenom zvezka (npr. Zvezek1.xls.TXT). Jaz pa se želim znebiti xls, torej da dobim Zvezek1.txt. Zaradi tega sem uporabil MID, ki pa je formuliram prav...

Koda:
'   Shrani aktivni zvezek v isto mapo kot je Workbook in v format "ime zvezka".TXT
        ActiveSheet.SaveAs Filename:= _
            ThisWorkbook.Path & "\" & ActiveWorkbook.Name & ".TXT", FileFormat:= _
            xlTextPrinter, CreateBackup:=False

Avtor: Krampus PrispevekObjavljeno: Pon Sep 11, 2017 12:57 pm    Naslov sporočila:  
----------------------------------------------------------------------------
rimci je napisal/a:
Ne uspem rešit. Spodnja koda mi shrani aktivni list z imenom zvezka (npr. Zvezek1.xls.TXT). Jaz pa se želim znebiti xls, torej da dobim Zvezek1.txt. Zaradi tega sem uporabil MID, ki pa je formuliram prav...

Koda:
'   Shrani aktivni zvezek v isto mapo kot je Workbook in v format "ime zvezka".TXT
        ActiveSheet.SaveAs Filename:= _
            ThisWorkbook.Path & "\" & ActiveWorkbook.Name & ".TXT", FileFormat:= _
            xlTextPrinter, CreateBackup:=False
        ActiveSheet.SaveAs Filename:= _
            ThisWorkbook.Path & "\" & Mid(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4, 4) & ".TXT", FileFormat:=xlTextPrinter, CreateBackup:=False


Poskusi takole

Avtor: rimciKraj: Prekmurje PrispevekObjavljeno: Pon Sep 11, 2017 3:11 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Z to kodo dobi zvezek ime ".xls.TXT" Se pravi da ne dobim "ime zvezka.TXT"

Koda:
'   Shrani aktivni zvezek v isto mapo kot je Workbook in v format "ime zvezka".TXT
        ActiveSheet.SaveAs Filename:= _
            ThisWorkbook.Path & "\" & Mid(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4, 4) & ".TXT", FileFormat:=xlTextPrinter, CreateBackup:=False

Stran 1 od 1

Powered by phpBB © 2001,2002 phpBB Group