Tento návod VBA popisuje, ako uložiť súbor pomocou príkazov Uložiť a Uložiť ako vo VBA.
Uložiť zošit - VBA
Príkaz VBA Uložiť uloží súbor programu Excel podobne ako kliknutie na ikonu Uložiť alebo pomocou klávesovej skratky Uložiť (CTRL + S).
Uložiť špecifikovaný zošit
Ak chcete zošit uložiť, pozrite sa na objekt zošita a použite príkaz Uložiť.
1 | Zošity ("savefile.xlsm"). Uložiť |
Uložte aktívny zošit
Poznámka: Toto je aktuálny aktívny zošit s kódom VBA, ktorý sa líši od ThisWorkbook, ktorý obsahuje spustený kód.
Uložte zošit, kde je uložený kód
Uložte všetky otvorené zošity
Tým sa bude prechádzať všetkými otvorenými zošitmi a každý sa uloží.
12345 | Dim wb ako zošitPre každý wb v aplikácii. Pracovné zošitywb. UložiťDalsie wb |
Uložte všetky otvorené zošity, ktoré neboli otvorené, len pre čítanie
Poznámka: otvorenie zošita v režime ReadOnly zabráni uloženiu súboru.
Na uloženie súboru budete musieť použiť Uložiť ako a uložiť súbor s iným názvom.
1234567 | Dim wb ako zošitPre každý wb v aplikácii. Pracovné zošityAk nie, čítajte iba vtedywb. UložiťKoniec AkDalsie wb |
Uložte zošit definovaný premennou
Tým sa uloží zošit, ktorý bol priradený k premennej objektu zošita.
1234 | Dim wb ako zošitnastaviť wb = zošity ("savefile.xlsm")wb.save |
Uložte zošit definovaný reťazcovou premennou
Tým sa uloží zošit, ktorého názov bol uložený do reťazcovej premennej.
1234 | Dim wbstring ako reťazecwbstring = "savefile.xlsm"pracovné zošity (wbstring) .save |
Uložte zošit definovaný poradím, v ktorom bol otvorený.
Poznámka: Prvý otvorený zošit by mal 1, druhý 2 atď.
1 | pracovné zošity (1) .uložiť |
Uložte zošit na základe hodnoty bunky
Tým sa uloží zošit, ktorého názov sa nachádza v hodnote bunky.
1234 | Dim wbstring ako reťazecwbstring = activeworkbook.sheets ("sheet1"). range ("wb_save"). hodnotapracovné zošity (wbstring) .save |
Uložiť ako - VBA
Príkaz VBA Uložiť ako uloží súbor programu Excel ako nový súbor, podobne ako kliknutie na ikonu Uložiť ako alebo pomocou skratky Uložiť ako (Alt> F> A).
Vyššie sme identifikovali všetky spôsoby, ako určiť, ktorý zošit sa má uložiť. Tieto úplne rovnaké metódy môžete použiť na identifikáciu zošitov pri použití funkcie Uložiť ako.
Save As sa správa podobne ako Save, ibaže musíte zadať názov nového súboru.
V skutočnosti má Save As mnoho potenciálnych premenných, ktoré je možné definovať:
Syntax SaveAs:
123 | objekt zošita .SaveAs (FileName, FileFormat, Password, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru, TextCodepage, TextVisualLayout, Local) |
Úplný popis všetkých argumentov SaveAs je uvedený nižšie. Teraz sa zameriame na najbežnejšie príklady.
Poznámka: Tieto argumenty je možné zadať ako reťazec s zátvorkami alebo ako definované premenné.
Uložiť ako príklady syntaxe:
Zošit Uložiť ako - rovnaký adresár
1 | ActiveWorkbook.SaveAs Názov súboru: = "nový" |
alebo
1 | ActiveWorkbook.SaveAs „nový“ |
alebo
1234 | Dim wbstring ako reťazecwbstring = "nový"ActiveWorkbook.SaveAs Názov súboru: = wbstring |
Zošit Uložiť ako - nový adresár
1 | ActiveWorkbook.SaveAs Názov súboru: = "C: \ new" |
alebo
1234 | Dim wbstring ako reťazecwbstring = "C: \ nový"ActiveWorkbook.SaveAs Názov súboru: = wbstring = |
Zošit Uložiť ako - nový adresár, zadajte príponu súboru
1 | ActiveWorkbook.SaveAs Názov súboru: = "C: \ new.xlsx" |
alebo
1234 | Dim wbstring ako reťazecwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs Názov súboru: = wbstring |
Zošit Uložiť ako - nový adresár, určiť príponu súboru - alternatívna metóda
Formát súboru môžete tiež určiť v jeho vlastnom argumente.
1234 | .xlsx = 51 '(52 pre Mac).xlsm = 52 '(53 pre Mac).xlsb = 50 '(51 pre Mac).xls = 56 '(57 pre Mac) |
1 | ActiveWorkbook.SaveAs Názov súboru: = "C: \ new", FileFormat: = 51 |
Zošit Uložiť ako - pridajte heslo k otvoreniu súboru
1 | ActiveWorkbook.SaveAs Názov súboru: = "C: \ new.xlsx", heslo: = "heslo" |
Zošit Uložiť ako - pridajte heslo pre oprávnenia na zápis
Ak nie je zadané správne heslo, zošit sa otvorí len na čítanie
1 | ActiveWorkbook.SaveAs Názov súboru: = "C: \ new.xlsx", WriteRes: = "heslo" |
Zošit Uložiť ako - odporúča sa iba na čítanie
PRAVDA zobrazí okno so správou a odporučí, aby bol súbor otvorený len na čítanie.
1 | ActiveWorkbook.SaveAs Názov súboru: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE |
Ďalšie príklady uloženia
Vytvoriť dialógové okno Uložiť ako
Tým sa vygeneruje dialógové okno Uložiť ako, ktoré používateľa vyzve na uloženie súboru.
Majte na pamäti, že tento jednoduchý kód nemusí byť vhodný vo všetkých prípadoch.
1 | Application.GetSaveAsFilename |
Dialógové okno Vytvoriť ako so zadaným predvoleným názvom súboru
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Dialógové okno Vytvoriť ako so zadaným predvoleným názvom súboru
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Vytvorte a uložte nový zošit
Tým sa vytvorí nový zošit a okamžite sa uloží.
123456 | Dim wb ako zošitNastaviť wb = zošity. PridaťApplication.DisplayAlerts = Falsewb.SaveAs Názov súboru: = ”c: \ Test1.xlsx”Application.DisplayAlerts = Pravda |
Zakázať ukladanie upozornení
Ako pracujete s ukladaním vo VBA, môžete naraziť na rôzne Varovania alebo výzvy na uloženie. Ak chcete vypnúť upozornenia, pridajte tento riadok kódu:
1 | Application.DisplayAlerts = False |
a znova zapnúť upozornenia:
1 | Application.DisplayAlerts = Pravda |