VBA Kopiraj datoteko / delovni zvezek

VBA vam omogoča kopiranje datoteke z uporabo FileSystemObject. V tej vadnici se boste naučili kopirati in preimenovati določeno datoteko.

Če želite izvedeti, kako preimenovati datoteko, lahko kliknete to povezavo: Preimenuj datoteko VBA

Kopirajte datoteko / delovni zvezek

Pokazali bomo, kako kopirati obstoječo datoteko Vzorčna datoteka 1.xlsx v mapi Mapa VBA. V tem primeru datoteke ne bomo preimenovali, samo jo kopiramo in prepišemo. Mapa trenutno vsebuje samo eno datoteko:

Slika 1. Datoteka v mapi C: \ VBA Mapa

Tukaj je koda:

12345 Zatemni oFSO kot objektNastavi oFSO = CreateObject ("Scripting.FileSystemObject")Pokličite oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \", True)

Najprej morate ustvariti predmet razreda Scripting.FileSystemObject:

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

Nato lahko uporabimo metodo CopyFile:

1 Pokličite oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \", True)

Prvi parameter metode je izvorna pot, drugi pa ciljna pot. Tretji parameter je Prepisati. Ker imamo iste izvorne in ciljne poti, jih moramo nastaviti Prepisati na True ali False. V tem primeru postavimo True, kar pomeni, da je izvirna datoteka prepisana.

Poglejmo zdaj, kaj se zgodi, če imamo iste cilje, vendar nastavimo Overwrite na False. Spremeniti morate le to vrstico kode:

1 Pokličite oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \", True)

Posledično boste dobili napako, kot vidite na sliki 2:

Slika 2. Napaka pri kopiranju datoteke

Kopirajte in preimenujte datoteko

Druga možna možnost pri kopiranju datoteke je, da jo preimenujete. Podobno je kopiranju datoteke, zdaj pa morate samo nastaviti ciljno pot z drugim imenom. Tukaj je koda:

12345 Zatemni oFSO kot objektNastavi oFSO = CreateObject ("Scripting.FileSystemObject")Pokličite oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \ Sample file Copy.xlsx")

Kot lahko vidite iz zadnje vrstice kode, želimo kopirati datoteko Vzorčna datoteka 1.xlsx v isti mapi in jo poimenujte Vzorčna datoteka Copy.xlsx:

1 Pokličite oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \ Sample file Copy.xlsx")

Zdaj imamo dve datoteki v mapi VBA. Rezultat kode je na sliki 3:

Slika 3. Kopirajte in preimenujte datoteko

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave