Tento výukový program VBA popisuje, jak uložit soubor pomocí příkazů Uložit a Uložit jako ve VBA.
Uložit sešit - VBA
Příkaz VBA Uložit uloží soubor aplikace Excel podobně jako klepnutí na ikonu Uložit nebo pomocí klávesové zkratky Uložit (CTRL + S).
Uložte zadaný sešit
Chcete -li sešit uložit, odkazujte na objekt sešitu a použijte příkaz Uložit.
1 | Sešity ("savefile.xlsm"). Uložit |
Uložte aktivní sešit
Poznámka: Toto je aktuální aktivní sešit od v kódu VBA, který se liší od ThisWorkbook, který obsahuje spuštěný kód.
Uložte sešit, kde je uložen kód
Uložte všechny otevřené sešity
Tím se bude procházet všemi otevřenými sešity a každý se uloží.
12345 | Dim wb jako sešitPro každý wb v aplikaci. Pracovní sešitywb. UložitDalší wb |
Uložte všechny otevřené sešity, které nebyly otevřeny ReadOnly
Poznámka: otevření sešitu v režimu ReadOnly zabrání uložení souboru.
K uložení souboru budete muset použít Uložit jako a uložit soubor pod jiným názvem.
1234567 | Dim wb jako sešitPro každý wb v aplikaci. Pracovní sešityPokud ne, pak jen pro čteníwb. UložitKonec pokudDalší wb |
Uložte sešit definovaný proměnnou
Tím se uloží sešit, který byl přiřazen k proměnné objektu sešitu.
1234 | Dim wb jako sešitnastavit wb = sešity ("savefile.xlsm")wb. uložit |
Uložte sešit definovaný řetězcovou proměnnou
Tím uložíte sešit, jehož jméno bylo uloženo do proměnné řetězce.
1234 | Dim wbstring jako řetězecwbstring = "savefile.xlsm"sešity (wbstring) .save |
Uložte sešit definovaný pořadím, ve kterém byl otevřen.
Poznámka: První otevřený sešit by měl 1, druhý 2 atd.
Uložte sešit na základě hodnoty buňky
Tím uložíte sešit, jehož název se nachází v hodnotě buňky.
1234 | Dim wbstring jako řetězecwbstring = activeworkbook.sheets ("sheet1"). range ("wb_save"). hodnotasešity (wbstring) .save |
Uložit jako - VBA
Příkaz VBA Uložit jako uloží soubor aplikace Excel jako nový soubor, podobně jako kliknutím na ikonu Uložit jako nebo pomocí zástupce Uložit jako (Alt> F> A).
Výše jsme identifikovali všechny způsoby, jak určit, který sešit uložit. Tyto přesně stejné metody můžete použít k identifikaci sešitů při použití Uložit jako.
Save As se chová podobně jako Save, kromě toho, že musíte zadat název nového souboru.
Ve skutečnosti má Save As mnoho potenciálních proměnných, které lze definovat:
Syntaxe SaveAs:
123 | objekt sešitu .SaveAs (FileName, FileFormat, Password, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru, TextCodepage, TextVisualLayout, Local) |
Níže je uveden úplný popis všech argumentů SaveAs. Prozatím se zaměříme na nejběžnější příklady.
Poznámka: Tyto argumenty lze zadat jako řetězec s kulatými závorkami nebo jako definované proměnné.
Uložit jako příklady syntaxe:
Sešit Uložit jako - stejný adresář
1 | ActiveWorkbook.SaveAs Název souboru: = "nový" |
nebo
1 | ActiveWorkbook.SaveAs „nový“ |
nebo
1234 | Dim wbstring jako řetězecwbstring = "nový"ActiveWorkbook.SaveAs Název souboru: = wbstring |
Sešit Uložit jako - nový adresář
1 | ActiveWorkbook.SaveAs Název souboru: = "C: \ new" |
nebo
1234 | Dim wbstring jako řetězecwbstring = "C: \ nový"ActiveWorkbook.SaveAs Název souboru: = wbstring = |
Sešit Uložit jako - nový adresář, zadejte příponu souboru
1 | ActiveWorkbook.SaveAs Název souboru: = "C: \ new.xlsx" |
nebo
1234 | Dim wbstring jako řetězecwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs Název souboru: = wbstring |
Sešit Uložit jako - nový adresář, určit příponu souboru - alternativní metoda
Můžete také určit formát souboru v jeho vlastním argumentu.
1234 | .xlsx = 51 '(52 pro Mac).xlsm = 52 '(53 pro Mac).xlsb = 50 '(51 pro Mac).xls = 56 '(57 pro Mac) |
1 | ActiveWorkbook.SaveAs Název souboru: = "C: \ new", FileFormat: = 51 |
Sešit Uložit jako - Přidat heslo k otevření souboru
1 | ActiveWorkbook.SaveAs Název souboru: = "C: \ new.xlsx", heslo: = "heslo" |
Sešit Uložit jako - Přidat heslo pro oprávnění k zápisu
Pokud není zadáno správné heslo, sešit se otevře jako Pouze pro čtení
1 | ActiveWorkbook.SaveAs Název souboru: = "C: \ new.xlsx", WriteRes: = "heslo" |
Sešit Uložit jako - doporučeno jen pro čtení
PRAVDA zobrazí okno se zprávou a doporučí, aby byl soubor otevřen jen pro čtení.
1 | ActiveWorkbook.SaveAs Název souboru: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE |
Jiné příklady uložení
Vytvořit dialogové okno Uložit jako
Tím se vygeneruje dialogové okno Uložit jako, které uživatele vyzve k uložení souboru.
Mějte na paměti, že tento jednoduchý kód nemusí být vhodný ve všech případech.
1 | Application.GetSaveAsFilename |
Vytvořit dialogové okno Uložit jako s poskytnutým výchozím názvem souboru
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Vytvořit dialogové okno Uložit jako s poskytnutým výchozím názvem souboru
1 | Application.GetSaveAsFilename InitialFilename: = "test.xlsx" |
Vytvořit a uložit nový sešit
Tím se vytvoří nový sešit a okamžitě se uloží.
123456 | Dim wb jako sešitNastavit wb = Workbooks.AddApplication.DisplayAlerts = Falsewb.SaveAs Název souboru: = ”c: \ Test1.xlsx”Application.DisplayAlerts = True |
Zakázat ukládání upozornění
Při práci s ukládáním ve VBA můžete narazit na různá varování nebo výzvy k uložení. Chcete -li varování vypnout, přidejte tento řádek kódu:
1 | Application.DisplayAlerts = False |
a znovu zapnout upozornění:
1 | Application.DisplayAlerts = True |