VBA vám umožňuje zkopírovat soubor pomocí FileSystemObject. V tomto kurzu se naučíte kopírovat a přejmenovat konkrétní soubor.
Pokud se chcete dozvědět, jak přejmenovat soubor, můžete kliknout na tento odkaz: Přejmenovat soubor VBA
Zkopírujte soubor / sešit
Ukážeme si, jak zkopírovat stávající soubor Ukázkový soubor 1.xlsx ve složce Složka VBA. V tomto případě soubor nepřejmenujeme, pouze zkopírujeme a přepíšeme. Složka aktuálně obsahuje pouze tento jeden soubor:
Obrázek 1. Soubor ve složce C: \ VBA Folder
Zde je kód:
12345 | Dim oFSO jako objektNastavit oFSO = CreateObject ("Scripting.FileSystemObject")Zavolejte oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \", True) |
Nejprve musíte vytvořit objekt třídy Scripting.FileSystemObject:
1 | Nastavit oFSO = CreateObject ("Scripting.FileSystemObject") |
Pak můžeme použít metodu Zkopírovat soubor:
1 | Zavolejte oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \", True) |
Prvním parametrem metody je zdrojová cesta a druhým je cílová cesta. Třetí parametr je Přepsat. Jelikož máme stejné cesty zdroje a cíle, musíme nastavit Přepsat na True nebo False. V tomto příkladu vložíme True, což znamená, že původní soubor je přepsán.
Podívejme se nyní, co se stane, pokud máme stejné cíle, ale nastavíme Přepsat na Nepravda. Stačí změnit tento řádek kódu:
1 | Zavolejte oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \", True) |
V důsledku toho se zobrazí chyba, jak můžete vidět na obrázku 2:
Obrázek 2. Chyba při kopírování souboru
Zkopírujte a přejmenujte soubor
Další možnou možností při kopírování souboru je jeho přejmenování. Je to podobné jako kopírování souboru, ale nyní stačí nastavit cílovou cestu s jiným názvem. Zde je kód:
12345 | Dim oFSO jako objektNastavit oFSO = CreateObject ("Scripting.FileSystemObject")Zavolejte oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \ Sample file Copy.xlsx") |
Jak vidíte z posledního řádku kódu, chceme zkopírovat soubor Ukázkový soubor 1.xlsx do stejné složky a pojmenujte ji Ukázkový soubor Copy.xlsx:
1 | Zavolejte oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \ Sample file Copy.xlsx") |
Nyní máme ve složce VBA dva soubory. Výsledek kódu je na obrázku 3:
Obrázek 3. Zkopírujte a přejmenujte soubor