VBA Kopiraj datoteku / radnu knjigu

VBA vam omogućuje kopiranje datoteke pomoću FileSystemObject. U ovom ćete vodiču naučiti kako kopirati i preimenovati određenu datoteku.

Ako želite naučiti kako preimenovati datoteku, možete kliknuti na ovu vezu: VBA Preimenuj datoteku

Kopirajte datoteku / radnu knjigu

Pokazat ćemo kako kopirati postojeću datoteku Primjer datoteke 1.xlsx u mapi VBA mapa. U ovom primjeru nećemo preimenovati datoteku, samo je kopirajte i prepišite. Mapa trenutno ima samo jednu datoteku:

Slika 1. Datoteka u mapi C: \ VBA mapa

Evo koda:

12345 Dim oFSO As ObjectPostavi oFSO = CreateObject ("Scripting.FileSystemObject")Pozovite oFSO.CopyFile ("C: \ VBA mapa \ Primjer datoteke 1.xlsx", "C: \ VBA mapa \", True)

Prvo morate stvoriti objekt klase Scripting.FileSystemObject:

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

Tada možemo koristiti metodu Kopiraj datoteku:

1 Pozovite oFSO.CopyFile ("C: \ VBA mapa \ Primjer datoteke 1.xlsx", "C: \ VBA mapa \", True)

Prvi parametar metode je izvorni put, a drugi odredišni put. Treći parametar je Prepiši. Kako imamo iste izvorne i odredišne ​​putove, moramo postaviti Prepiši na Tačno ili Netačno. U ovom primjeru stavljamo True, što znači da je izvorna datoteka prebrisana.

Pogledajmo sada što se događa ako imamo ista odredišta, ali postavimo Overwrite na False. Samo trebate promijeniti ovaj redak koda:

1 Pozovite oFSO.CopyFile ("C: \ VBA mapa \ Primjer datoteke 1.xlsx", "C: \ VBA mapa \", True)

Kao rezultat toga, dobit ćete pogrešku kao što vidite na slici 2:

Slika 2. Pogreška pri kopiranju datoteke

Kopirajte i preimenujte datoteku

Druga moguća opcija pri kopiranju datoteke je njezino preimenovanje. Slično je kopiranju datoteke, ali sada samo trebate postaviti odredišnu putanju s drugim imenom. Evo koda:

12345 Dim oFSO As ObjectPostavi oFSO = CreateObject ("Scripting.FileSystemObject")Pozovite oFSO.CopyFile ("C: \ VBA Mapa \ Primjer datoteke 1.xlsx", "C: \ VBA Mapa \ Primjer datoteke Copy.xlsx")

Kao što možete vidjeti iz posljednjeg retka koda, želimo kopirati datoteku Primjer datoteke 1.xlsx u istoj mapi i dajte joj ime Primjer datoteke Copy.xlsx:

1 Pozovite oFSO.CopyFile ("C: \ VBA Mapa \ Primjer datoteke 1.xlsx", "C: \ VBA Mapa \ Primjer datoteke Copy.xlsx")

Sada imamo dvije datoteke u VBA mapi. Rezultat koda je na slici 3:

Slika 3. Kopirajte i preimenujte datoteku

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave