VBA kopijavimo failas / darbaknygė

VBA leidžia nukopijuoti failą naudojant „FileSystemObject“. Šioje pamokoje sužinosite, kaip nukopijuoti ir pervardyti konkretų failą.

Jei norite sužinoti, kaip pervardyti failą, galite spustelėti šią nuorodą: VBA pervardyti failą

Nukopijuokite failą / darbaknygę

Mes parodysime, kaip nukopijuoti esamą failą Pavyzdinis failas 1.xlsx aplanke VBA aplankas. Šiame pavyzdyje mes nepervadinsime failo, tiesiog nukopijuosime ir perrašysime. Šiuo metu aplanke yra tik vienas failas:

Vaizdas 1. Failas aplanke C: \ VBA Folder

Čia yra kodas:

12345 Dim oFSO kaip objektasNustatykite oFSO = CreateObject ("Scripting.FileSystemObject")Skambinkite oFSO.CopyFile ("C: \ VBA aplankas \ Pavyzdinis failas 1.xlsx", "C: \ VBA aplankas \", tiesa)

Pirmiausia turite sukurti klasės objektą Scripting.FileSystemObject:

1 Nustatykite oFSO = CreateObject ("Scripting.FileSystemObject")

Tada galime naudoti metodą CopyFile:

1 Skambinkite oFSO.CopyFile ("C: \ VBA aplankas \ Pavyzdinis failas 1.xlsx", "C: \ VBA aplankas \", tiesa)

Pirmasis metodo parametras yra šaltinio kelias, o antrasis - paskirties kelias. Trečias parametras yra Perrašyti. Kadangi turime tuos pačius šaltinio ir paskirties kelius, turime nustatyti Perrašyti į teisingą ar klaidingą. Šiame pavyzdyje mes įdėjome „True“, o tai reiškia, kad originalus failas yra perrašytas.

Dabar pažiūrėkime, kas atsitiks, jei turime tas pačias paskirties vietas, tačiau nustatykite „Overwrite“ į „False“. Jums tereikia pakeisti šią kodo eilutę:

1 Skambinkite oFSO.CopyFile ("C: \ VBA aplankas \ Pavyzdinis failas 1.xlsx", "C: \ VBA aplankas \", tiesa)

Dėl to gausite klaidą, kaip matote 2 paveikslėlyje:

Vaizdas 2. Klaida kopijuojant failą

Nukopijuokite ir pervardykite failą

Kitas galimas variantas kopijuojant failą yra jį pervardyti. Tai panašu į failo kopijavimą, tačiau dabar jums tereikia nustatyti paskirties kelią kitu pavadinimu. Čia yra kodas:

12345 Dim oFSO kaip objektasNustatykite oFSO = CreateObject ("Scripting.FileSystemObject")Skambinkite oFSO.CopyFile ("C: \ VBA aplankas \ Pavyzdinis failas 1.xlsx", "C: \ VBA aplankas \ Pavyzdinis failas Copy.xlsx")

Kaip matote iš paskutinės kodo eilutės, norime nukopijuoti failą Pavyzdinis failas 1.xlsx tame pačiame aplanke ir pavadinkite jį Failo pavyzdys Copy.xlsx:

1 Skambinkite oFSO.CopyFile ("C: \ VBA aplankas \ Pavyzdinis failas 1.xlsx", "C: \ VBA aplankas \ Pavyzdinis failas Copy.xlsx")

Dabar VBA aplanke turime du failus. Kodo rezultatas yra 3 paveikslėlyje:

Vaizdas 3. Nukopijuokite ir pervardykite failą

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave