Excel VBA FileCopy

Obstaja veliko načinov za kopiranje ali premikanje datoteke iz ene mape v drugo. To lahko storimo ročno iz Kopiranje in rezanje ikone datoteke in lepljenje v ciljno mapo. Ko pa gre za avtomatizacijo tega postopka kopiranja datoteke, lahko to storimo tudi v VBA. Za kopiranje datoteke imamo na voljo funkcijo v VBA, imenovano »File Copy«.

Sintaksa FileCopy v Excelu VBA

Zelo enostavno je uporabiti datotečno kopiranje v datoteki VBA. Sintaksa datoteke kopiraj kot je prikazano spodaj.

File Copy ima samo dve komponenti za dovajanje. Kateri so:

  • Vir - Tu bomo postavili lokacijo vira, od koder moramo kopirati datoteko.
  • Destinacija - In to bo ciljna mapa, kamor bomo prilepili kopirano datoteko.

Celotna skladnja bo v podatkovnem tipu String. Ker bomo uporabili pot datoteke, ki bo kot besedilo.

Kako kopirati datoteko v Excel VBA?

Zdaj pa poskusimo z nekaj primeri o kopiji datoteke VBA v Excelu.

To datoteko VBA lahko kopirate predlogo datoteke Excel tukaj - VBA Kopirajte predlogo datoteke Excel

Primer # 1 - FileCopy VBA

V prvem primeru bomo videli, kako kopirati datoteko z izvornega mesta in jo na zelo preprost način prilepiti na ciljno mesto.

Za to potrebujemo datoteko katere koli vrste ali razširitve. Tukaj razmišljamo o Excelovi datoteki s pripono xlsx . Kot vidimo, smo datoteko excel postavili na mesto, ki je enostavno dostopno in je imenovano Test .

Zdaj bomo to datoteko s pomočjo FileCopy kopirali v spodnjo ciljno mapo.

1. korak: Za to pojdite na VBA in odprite spustni meni Module v meniju Vstavi, kot je prikazano spodaj.

2. korak: Zdaj v odprti modul napišite podkategorijo VBA FileCopy ali katero koli drugo ime po vaši izbiri.

Koda:

 Sub VBA_Copy1 () Konec Sub 

3. korak: Zdaj neposredno odprite funkcijo FileCopy, kot je prikazano spodaj.

Koda:

 Pod VBA_Copy1 () FileCopy (Končajte Sub 

4. korak: Zdaj v narekovaje napišite naslov izvornega mesta, ki mu sledi ime in razširitev, kot je prikazano spodaj.

Koda:

 Pod VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", End Sub 

5. korak: Za lokacijo cilja ponovno postavite pot v obrnjene vejice, ki jim sledita datoteka in razširitev.

Koda:

 Pod VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", "D: \ VPB File \ April Files \ Hello.xlsx" End Sub 

6. korak: Zdaj sestavite kodo in jo zaženite s klikom na gumb Play, ki se nahaja pod menijsko vrstico. Videli bomo, datoteka Excela z imenom Test je zdaj kopirana iz izvorne lokacije na ciljno lokacijo, kot je prikazano spodaj. Ker v datoteki ni bilo ničesar, tako velikost datoteke znaša 0 KB .

Primer # 2 - FileCopy VBA

V drugem primeru bomo videli, kako kopirati datoteko z izvorne lokacije v cilj, tako da določimo spremenljivko. Ta postopek je malo dolgotrajen, vendar bolj zanesljiv, saj bomo določali parametre in spremenljivko.

1. korak: Zdaj najprej odprite nov modul in napišite podkategorijo VBA File Copy, kot je prikazano spodaj.

Koda:

 Sub VBA_Copy2 () Konec Sub 

Korak 2: Najprej določite spremenljivko, kamor bomo v izvorno lokacijo datoteke postavili isto datoteko excel, ki smo jo uporabili v primeru-1 kot String.

Koda:

 Sub VBA_Copy2 () Dim FirstLocation kot niz vrstic Sub 

3. korak: Na podoben način bomo potrebovali še eno spremenljivko za destinacijsko lokacijo.

Koda:

 Pod VBA_Copy2 () Dim FirstLocation kot niz Dim SecondLocation kot String End Sub 

4. korak: Zdaj postavite lokacijo v prvo definirano spremenljivko, ki je " FirstLocation ", skupaj z imenom datoteke in njeno razširitvijo.

Koda:

 Pod VBA_Copy2 () Dim FirstLocation kot niz Dim SecondLocation kot niz FirstLocation = "D: \ Test1 \ Hello.xlsx" End Sub 

5. korak: Na podoben način naredite isto za destinacijsko lokacijo z uporabo spremenljivke „ SecondLocation“, ki smo jo določili zgoraj.

Koda:

 Pod VBA_Copy2 () Dim FirstLocation kot niz Dim SecondLocation kot niz FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" End Sub 

6. korak: Zdaj je čas, da uporabite funkcijo FileCopy .

Koda:

 Pod VBA_Copy2 () Dim FirstLocation kot niz Dim SecondLocation kot niz FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy End Sub 

Glede na skladnjo datoteke FileCopy najprej moramo postaviti izvorno lokacijo, kjer smo datoteko hranili. Toda kot smo že definirali izvorne in ciljne mape lokacij za obe spremenljivki.

7. korak: Torej tukaj lahko neposredno izberemo te spremenljivke. Najprej izberite spremenljivko izvorne lokacije, ki je FirstLocation .

Koda:

 Pod VBA_Copy2 () Dim FirstLocation kot niz Dim SecondLocation kot niz FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy FirstLocation End Sub 

Korak 8: Znova na podoben način izberite spremenljivko ciljne lokacije, ki je SecondLocation, kot je prikazano spodaj.

Koda:

 Pod VBA_Copy2 () Dim FirstLocation kot niz Dim SecondLocation kot niz FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: Datoteka VPB \ April datoteke \ Hello.xlsx" FileCopy FirstLocation, SecondLocation End Sub 

9. korak: Ko končamo, bomo kodo sestavili s pritiskom na funkcijsko tipko F8. Če napake ni mogoče najti, zaženite kodo. Videli bomo, da se datoteka z izvorne lokacije kopira in prilepi v ciljno mapo, kot je prikazano spodaj.

Poskusimo lahko tudi drugačno lokacijsko pot. Za preskus razmislimo o drugem izvornem mestu, kjer bomo imeli besedilno datoteko.

Kot vidimo, datoteka nima nobenih podatkov, zato je velikost spet prikazana kot 0 KB.

Ciljna mapa bo mapa Izhodna lokacija, ki je pod mapo Vhodna lokacija. Če vidimo v datoteki, ni podatkov.

Zdaj bomo zamenjali izvor in cilj v spremenljivkah FirstLocation in Second Location, ki mu sledita ime datoteke in njena razširitev.

Koda:

 Pod VBA_Copy2 () Dim FirstLocation kot niz Dim SecondLocation kot niz FirstLocation = "D: Datoteka VPB \ April datoteke \ New Excel \ Test Case.docx" SecondLocation = "D: \ VPB File \ April Files \ Končna lokacija \ Test case. docx "FileCopy FirstLocation, SecondLocation End Sub 

Zdaj zaženite kodo.

Videli bomo, da je datoteka besedila Test zdaj kopirana iz mape Lokacija vnosa v mapo Izhodna lokacija z enako velikostjo, ki znaša 0 KB.

Prednosti FileCopy VBA

  • Uporabite ga lahko za kopiranje več kot ene datoteke v enem posnetku.
  • Za 10 datotek potrebuje toliko časa, kot je potrebno za kopiranje ene datoteke.
  • Uporabimo lahko katero koli datoteko razširitvenih datotek, ki jo želimo kopirati.

Stvari, ki jih je treba zapomniti

  • Ime datoteke in njegovo razširitev vedno imejte na koncu imena lokacije.
  • Navedite ciljne in izvorne povezave v obrnjene vejice.
  • Ko končate, shranite kodo v Makro, omogočite Excelu, da jo uporabi in obdrži za prihodnji namen.
  • Vedno dovolite dovoljenje za kodiranje, tako da lahko kopira datoteko z izvornega mesta in jo prilepi na ciljno mesto.

Priporočeni članki

To je vodnik za FileCopy v VBA. Tukaj razpravljamo o tem, kako kopirati Excelovo datoteko s pomočjo kode VBA skupaj s praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Delo z VBA Active Cell
  2. Brisanje vrstice v VBA
  3. Kako uporabljati Excel VBA Transpose?
  4. Kako popraviti napako 1004 pri uporabi VBA

Kategorija: