Excel VBA Uložit jako

Pokud jste častým uživatelem aplikace Microsoft Excel, musíte použít funkci Uložit jako, která vám umožní uložit aktuálně otevřený sešit s jiným názvem nebo jiným formátem (Excel Makro, CSV, PDF atd.). Pomocí této metody můžete soubor také uložit do jiné složky. Je však možné použít stejnou funkci v rámci VBA? Odpověď je absolutní Ano! Funkci Uložit jako máme také pod VBA, což nám pomáhá provádět všechny výše uvedené úkoly spolu s některými dalšími výhodami (samozřejmě automatizace věcí je jednou z výhod). V tomto článku se podíváme na různé příklady funkce VBA SAVE AS.

Vzorec pro funkci Uložit jako v Excelu VBA

Podívejme se pod vzorec pro funkci Uložit jako ve VBA.

Kde,

  • FileName - Název sešitu, který má být uložen.
  • FileFormat - formát souboru, ve kterém je třeba soubor uložit (např. Pdf, CSV atd.)
  • Heslo - heslo k ochraně sešitu (Sešit nelze získat bez hesla)
  • WriteResPassword - Napište heslo pro rezervaci do sešitu.
  • ReadOnlyRecommended - Rozpoznává, zda je sešit uložen ve formátu jen pro čtení nebo ne.
  • CreateBackup - Určuje, zda je vytvořen záložní soubor sešitu.
  • AccessMode - Rozpoznává režim přístupu pro sešit.
  • ConflictResolution - Rozpoznává konflikty, které se objeví, když je sešit sdílen, a je používán více než jedním uživatelem.
  • AddToMru - Zkontroluje, zda je sešit přidán do nedávno použitého souboru nebo ne.
  • Místní - Zkontroluje, zda je sešit uložen v souladu se zákony Excel (místní jazyk) nebo se zákony VBA (USA - angličtina).

Utišit! Spousta argumentů v pořádku? Ale co když vám řeknu, všechny tyto argumenty jsou volitelné a mohou být přeskočeny při použití funkce VBA SAVE AS. Je však pravda, že toto jsou argumenty, díky nimž je VBA SaveAs flexibilnější používat. „Expression“ na začátku syntaxe není nic jiného než výraz, proti kterému lze tuto funkci použít. Stejně jako Workbook je výraz, proti kterému lze SaveAs použít.

Příklady uložení souboru Excel pomocí funkce VBA Save As Function

Níže jsou uvedeny různé příklady uložení souboru Excel pomocí funkce VBA Save As.

Tuto VBA uložit jako šablonu Excel si můžete stáhnout zde - VBA uložit jako šablonu Excel

Příklad č. 1 - Jak uložit kopii sešitu s jiným názvem?

Uvidíme, jak můžeme uložit aktuální sešit pod jiným názvem.

Chcete-li použít funkci Save As Function v aplikaci Excel VBA, postupujte takto:

Krok 1: Přidejte nový modul pod Editor jazyka (VBE). Přejděte na Vložit a poté vyberte Modul.

Krok 2: Definujte nový dílčí postup, který může uložit makro.

Kód:

 Sub SaveAs_Ex1 () End Sub 

Krok 3: Definujte novou proměnnou, která pojme název, pod kterým se má soubor uložit.

Kód:

 Sub SaveAs_Ex1 () Dim newName jako String End Sub 

Krok 4: Nyní pomocí operátoru přiřazení přiřaďte této proměnné název, pomocí kterého lze aktuální soubor uložit jako.

Kód:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Example1" End Sub 

Krok 5: Nyní použijte funkci SaveAs s argumentem FileName, abyste soubor uložili jako s názvem „Příklad1“.

Kód:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Example1" ActiveWorkbook.SaveAs Název souboru: = newName End Sub 

Krok 6: To je ono, nyní spusťte tento kód stisknutím klávesy F5 nebo ručně pomocí tlačítka Run a podívejte se na výstup.

Můžete vidět, že se do Dokumentů ukládá soubor s názvem „ Příklad1 “.

Pokud jste si to mohli poznamenat, soubor se uloží jako soubor Macro Enabled, protože původní soubor, na kterém jsem použil funkci SaveAs, je soubor s funkcí Macro Enabled. To znamená, že tato funkce ve VBA automaticky zkontroluje formát souboru předchozího souboru a uloží jej ve stejném formátu. Ve výchozím nastavení bude soubor také uložen v Dokumentech pod tímto počítačem . Toto výchozí umístění lze zadat explicitně v době definování názvu listu.

Příklad č. 2 - Ukládání sešitu s uživatelským jménem

Namísto původního definování jména je možné napsat kód, který uživateli umožní uložit pracovní list podle jména, které si vybral, stejně jako funkce Excel Save As?

Postupujte podle níže uvedených kroků a použijte funkci Uložit jako v Excel VBA.

Krok 1: Definujte nový dílčí postup v rámci nově vloženého modulu, který může makro uložit.

Kód:

 Sub SaveAs_Ex2 () End Sub 

Krok 2: Definujte novou proměnnou, která může obsahovat hodnotu uživatelsky definovaného názvu.

Kód:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name jako Variant End Sub 

Důvod, proč je tato proměnná definována jako Variant, je, že tento datový typ dělá Konvence pojmenování univerzální. Například uživatel může přidat nějaké zvláštní znaky (které jsou povoleny v názvových konvencích), nebo může přidat i data pod názvem souboru.

Krok 3: Nyní pomocí kombinace operátoru přiřazení a funkce nazvané application.GetSaveAsFilename vytvořte příkaz, který umožňuje systému převzít uživatelem definované jméno. Podívejte se, jak toho bylo dosaženo na níže uvedeném snímku obrazovky.

Kód:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename End Sub Sub 

Krok 4: Pomocí podmíněného IF se ujistěte, že jméno, které uživatel zadal, je platné podle názvových konvencí.

Kód:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename Pokud Spreadsheet_Name False pak End Sub 

Tato podmínka zkontroluje, zda jméno zadané uživatelem k uložení listu správně splňuje konvence pojmenování nastavené pro pojmenování souboru.

Krok 5: Napište prohlášení, které bude vyhodnoceno pro danou podmínku IF.

Kód:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename Pokud Spreadsheet_Name False Then ActiveWorkbook.SaveAs Název souboru: = Spreadsheet_Name End Sub 

Tento kus kódu bude vyhodnocen, jakmile bude podmínka IF splněna. Pokud ano, aktivní sešit se uloží pod názvem define v proměnné Spreadsheet_Name (který bude definován uživatelem)

Krok 6: Ukončete smyčku IF a spuštěním tohoto kódu zobrazíte výstup.

Kód:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename If Spreadsheet_Name False Then ActiveWorkbook.SaveAs Název souboru: = Spreadsheet_Name End If End Sub 

Krok 7: Jakmile spustíte tento kód, zobrazí se dialogové okno Uložit jako, které vám umožní zadat název podle vašeho výběru a soubor uložit.

Příklad č. 3 - Jak uložit jako soubor do PDF pomocí funkce Excel VBA SaveAs?

Předpokládejme, že máte data uvedená v excelu a je třeba je převést do formátu PDF.

Chcete-li převést tento soubor do PDF pomocí funkce Uložit jako VBA, postupujte podle následujících kroků:

Krok 1: Definujte nový dílčí postup pro uložení makra.

Kód:

 Sub SaveAs_PDF_Ex3 () End Sub 

Krok 2: Pomocí následujícího kódu uložte tento soubor jako soubor PDF.

Kód:

 Sub SaveAs_PDF_Ex3 () ActiveSheet.SaveAs Název souboru: = "Vba Uložit jako.pdf" End Sub 

Krok 3: Spusťte tento kód a uvidíte soubor PDF generovaný v části Tento počítač> Dokumenty.

V tomto kódu ActiveSheet.SaveAs umožňuje uložit soubor se stejným názvem. Protože jsme na konec souboru přidali příponu jako .pdf, exportuje se do souboru PDF. Můžete vidět obrázek výše pro vaši informaci.

Co si pamatovat

  • Ve výchozím umístění pro uložení souboru používaného ve VBA SaveAs bude Tento počítač> Dokumenty. Adresář však můžete zadat ručně při definování názvu souboru.
  • Ve výchozím nastavení bude soubor uložený pomocí VBA SaveAs uložen ve stejném formátu jako původní soubor. Lze ji však také definovat podle požadavků uživatele v době, kdy definujete proměnnou.

Doporučené články

Toto je průvodce VBA Save As. Zde diskutujeme o tom, jak soubor uložit pomocí funkce Excel VBA Save As spolu s příkladem a šablonou Excel ke stažení. Níže uvádíme několik užitečných vynikajících článků týkajících se VBA -

  1. VBA Exit Sub
  2. Vytvořte tabulku v Excelu
  3. Objekt VBA
  4. Automatické ukládání Excel

Kategorie: