Kopírovací súbor / zošit VBA

VBA vám umožňuje skopírovať súbor pomocou súboru FileSystemObject. V tomto návode sa naučíte kopírovať a premenovať konkrétny súbor.

Ak sa chcete dozvedieť, ako premenovať súbor, môžete kliknúť na tento odkaz: Premenovať súbor VBA

Skopírujte súbor / zošit

Ukážeme si, ako skopírovať existujúci súbor Ukážkový súbor 1.xlsx v priečinku Priečinok VBA. V tomto prípade súbor nepremenujeme, iba ho skopírujeme a prepíšeme. Priečinok má v súčasnosti iba tento jeden súbor:

Obrázok 1. Súbor v priečinku C: \ VBA priečinok

Tu je kód:

12345 Dim oFSO ako objektNastaviť oFSO = CreateObject ("Scripting.FileSystemObject")Zavolajte oFSO.CopyFile ("C: \ Priečinok VBA \ Ukážkový súbor 1.xlsx", "C: \ Priečinok VBA \", True)

Najprv musíte vytvoriť objekt triedy Scripting.FileSystemObject:

1 Nastaviť oFSO = CreateObject ("Scripting.FileSystemObject")

Potom môžeme použiť metódu CopyFile:

1 Zavolajte oFSO.CopyFile ("C: \ Priečinok VBA \ Ukážkový súbor 1.xlsx", "C: \ Priečinok VBA \", True)

Prvým parametrom metódy je zdrojová cesta a druhým cieľová cesta. Tretí parameter je Prepísať. Keďže máme rovnaké zdrojové a cieľové cesty, musíme nastaviť Prepísať na Pravda alebo lož. V tomto prípade uvádzame True, čo znamená, že pôvodný súbor je prepísaný.

Pozrime sa teraz, čo sa stane, ak máme rovnaké ciele, ale nastavíme Prepísať na Nepravda. Stačí zmeniť tento riadok kódu:

1 Zavolajte oFSO.CopyFile ("C: \ Priečinok VBA \ Ukážkový súbor 1.xlsx", "C: \ Priečinok VBA \", True)

V dôsledku toho sa zobrazí chyba, ako môžete vidieť na obrázku 2:

Obrázok 2. Chyba pri kopírovaní súboru

Skopírujte a premenujte súbor

Ďalšou možnou možnosťou pri kopírovaní súboru je jeho premenovanie. Je to podobné ako pri kopírovaní súboru, ale teraz stačí nastaviť cieľovú cestu s iným názvom. Tu je kód:

12345 Dim oFSO ako objektNastaviť oFSO = CreateObject ("Scripting.FileSystemObject")Zavolajte oFSO.CopyFile ("C: \ Priečinok VBA \ Ukážkový súbor 1.xlsx", "C: \ VBA priečinok \ Ukážkový súbor Copy.xlsx")

Ako vidíte z posledného riadka kódu, chceme skopírovať súbor Ukážkový súbor 1.xlsx v rovnakom priečinku a pomenujte ho Ukážkový súbor Copy.xlsx:

1 Zavolajte oFSO.CopyFile ("C: \ Priečinok VBA \ Ukážkový súbor 1.xlsx", "C: \ Priečinok VBA \ Ukážkový súbor Copy.xlsx")

Teraz máme v priečinku VBA dva súbory. Výsledok kódu je na obrázku 3:

Obrázok 3. Skopírujte a premenujte súbor

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave