Excel VBA FileCopy

Det er mange måter å kopiere eller flytte en fil fra en mappe til en annen. Vi kan gjøre det manuelt fra å kopiere og klippe ut filikonet og lime det inn i destinasjonsmappen. Men når det gjelder å automatisere denne prosessen med å kopiere filen, kan vi også gjøre det i VBA. For å kopiere filen har vi en funksjon tilgjengelig i VBA som heter den samme “File Copy”.

Syntaks for FileCopy i Excel VBA

Det er veldig enkelt å bruke File Copy i VBA. Syntaksen til File Copy er som vist nedenfor.

File Copy har bare to komponenter å mate. Som er:

  • Kilde - Her vil vi plassere kildeplassen der vi trenger å kopiere filen.
  • Destinasjon - Og dette vil være destinasjonsmappen der vi limer inn den kopierte filen.

Den komplette syntaks vil være i strengdatatype. Fordi vi bruker banen til filen som vil være som tekst.

Hvordan kopiere en fil i Excel VBA?

La oss prøve med noen eksempler på VBA File Copy i Excel.

Du kan laste ned denne VBA Copy a File Excel Template her - VBA Copy a File Excel Template

Eksempel 1 - FileCopy In VBA

I det første eksemplet vil vi se hvordan du kopierer en fil fra en kildeplassering og limer den inn på et destinasjonssted på en veldig enkel måte.

For dette trenger vi en fil av noe slag eller utvidelse. Her vurderer vi en Excel-fil med utvidelse xlsx . Som vi kan se, har vi plassert den excel-filen på et sted som er lett tilgjengelig med navnet Test .

Nå kopierer vi denne filen ved hjelp av FileCopy til destinasjonsmappen nedenfor.

Trinn 1: For dette, gå til VBA og åpne en modul fra rullegardinmenyen Sett inn meny som vist nedenfor.

Trinn 2: Skriv den underkategorien til VBA FileCopy eller i et hvilket som helst annet navn etter ditt valg.

Kode:

 Sub VBA_Copy1 () Slutt Sub 

Trinn 3: Åpne FileCopy- funksjonen direkte som vist nedenfor.

Kode:

 Sub VBA_Copy1 () FileCopy (End Sub 

Trinn 4: Skriv nå kildeplasseadressen etter sitater etterfulgt av filnavn og filtype som vist nedenfor.

Kode:

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

Trinn 5: For destinasjonsstedet, legg igjen banen i inverterte komma etterfulgt av fil og utvidelse.

Kode:

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

Trinn 6: Sett sammen koden og kjør den ved å klikke på Spill-knappen som ligger under menylinjen. Vi vil se, excel-filen med navnet Test er nå kopiert fra kildeplassering til destinasjonsplassering som vist nedenfor. Siden det ikke var noe i filen så størrelsen på filen kommer til 0 KB .

Eksempel 2 - FileCopy In VBA

I et annet eksempel vil vi se hvordan du kopierer filen fra kildeplassering til destinasjon ved å definere variabelen. Denne prosessen er lite langvarig, men mer pålitelig, da vi vil fikse parametrene og variabelen.

Trinn 1: Åpne først en ny modul og skriv underkategorien til VBA File Copy som vist nedenfor.

Kode:

 Sub VBA_Copy2 () Slutt Sub 

Trinn 2: Først definerer du en variabel der vi vil plassere kildeplassering for filen samme excel-fil som vi har brukt i eksempel-1 som streng.

Kode:

 Sub VBA_Copy2 () Dim FirstLocation As String End Sub 

Trinn 3: På lignende måte trenger vi en annen variabel for destinasjonsstedet.

Kode:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation Som String End Sub 

Trinn 4: Plasser nå plasseringen i den første definerte variabelen som er " FirstLocation " sammen med filnavn og filtypen.

Kode:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" Slutt Sub 

Trinn 5: Gjør den samme tingen for destinasjonssted ved å bruke variabelen “ SecondLocation” som vi har definert ovenfor.

Kode:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" Slutt Sub 

Trinn 6: Nå er det på tide å bruke FileCopy- funksjonen.

Kode:

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

I henhold til syntaks for FileCopy først, må vi plassere kildeplassering, der vi har beholdt filen. Men som vi allerede har definert kildene og destinasjonsplasseringsmappene ovenfor for begge variablene.

Trinn 7: Så her kan vi direkte velge de variablene. Velg først kildeplassasjonsvariabel som er FirstLocation .

Kode:

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

Trinn 8: Igjen på en lignende måte, velg destinasjonsvariabelen som er SecondLocation som vist nedenfor.

Kode:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy FirstLocation, SecondLocation End Sub 

Trinn 9: Når det er gjort, vil vi sammenstille koden ved å trykke på funksjonstasten F8. Og hvis det ikke er funnet noen feil, så kjør koden. Vi ser, filen fra kildeplassering er kopiert og limt inn i destinasjonsmappen som vist nedenfor.

Vi kan prøve forskjellige stedsveier også. For test la oss vurdere et annet kildeplass der vi vil ha en ordfil.

Som vi ser har ikke filen noen data, så størrelsen vises igjen som 0 KB.

Og destinasjonsmappen vil være Output Location-mappen som er under Input Location-mappen. Hvis vi ser inne i filen, er det ingen data tilgjengelig.

Nå vil vi erstatte kilden og destinasjonen i henholdsvis variablene FirstLocation og Second Location etterfulgt av filnavnet og filtypen.

Kode:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ VPB File \ April Files \ New Excel \ Test Case.docx" SecondLocation = "D: \ VPB File \ April Files \ Final location \ Test Case. docx "FileCopy FirstLocation, SecondLocation End Sub 

Nå kjører koden.

Vi vil se, testordfilen er nå kopiert fra mappen Input Location til Output Location Map med samme størrelse som er 0 KB.

Fordeler med FileCopy In VBA

  • Den kan brukes til å kopiere mer enn 1 fil i ett skudd.
  • Det tar en lignende tid for 10 filer som det tar å kopiere en fil.
  • Vi kan bruke alle filtypene som vi vil kopiere.

Ting å huske

  • Legg alltid filnavnet og dets forlengelse på slutten av stedsnavnet.
  • Sitat destinasjons- og kildeplasseringskoblinger i inverterte kommaer.
  • Når du er ferdig, lagrer du koden i makro, slik at Excel kan bruke og beholde koden for fremtidig formål.
  • Gi alltid tillatelse til å kode slik at den kan kopiere filen fra kildeplassering og lime den inn på et destinasjonssted.

Anbefalte artikler

Dette er en guide til FileCopy i VBA. Her diskuterer vi hvordan du kopierer en Excel-fil ved hjelp av VBA-kode sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. Jobber med VBA Active Cell
  2. Slette en rad i VBA
  3. Hvordan bruke Excel VBA-transponering?
  4. Hvordan fikse 1004 feil ved bruk av VBA

Kategori: