Excel VBA FileCopy

Det finns många sätt att kopiera eller flytta en fil från en mapp till en annan. Vi kan göra det manuellt från att kopiera och klippa filikonen och klistra in den i destinationsmappen. Men när det gäller att automatisera denna process för att kopiera filen, kan vi också göra det i VBA. För att kopiera filen har vi en funktion i VBA som heter samma "File Copy".

Syntax av FileCopy i Excel VBA

Det är mycket enkelt att tillämpa File Copy i VBA. Syntaxen för File Copy är som visas nedan.

File Copy har bara två komponenter att mata. Vilka är:

  • Källa - Här kommer vi att placera källplatsen där vi behöver kopiera filen.
  • Destination - Och detta kommer att vara destinationsmappen där vi klistrar in den kopierade filen.

Den kompletta syntaxen kommer att finnas i strängdatatyp. Eftersom vi kommer att använda sökvägen för filen som kommer att vara som text.

Hur kopierar jag en fil i Excel VBA?

Låt oss nu prova med några exempel på VBA File Copy i Excel.

Du kan ladda ner denna VBA Kopiera en fil Excel-mall här - VBA Kopiera en fil Excel-mall

Exempel 1 - FileCopy In VBA

I det första exemplet ser vi hur man kopierar en fil från en källplats och klistrar in den på en destinationsplats på ett mycket enkelt sätt.

För detta behöver vi en fil av alla slag eller tillägg. Här överväger vi en Excel-fil med förlängning xlsx . Som vi ser har vi placerat den excel-filen på en plats som är lättillgänglig benämnd Test .

Nu kopierar vi den här filen med hjälp av FileCopy till destinationsmappen nedan.

Steg 1: Gå till VBA för att öppna en modul från rullgardinsmenyn Infoga meny som visas nedan.

Steg 2: Skriv nu underkategorin i VBA FileCopy eller i något annat namn enligt ditt val.

Koda:

 Sub VBA_Copy1 () Slut Sub 

Steg 3: Öppna nu FileCopy- funktionen direkt som visas nedan.

Koda:

 Sub VBA_Copy1 () FileCopy (End Sub 

Steg 4: Skriv nu källans adress i citat följt av filnamn och tillägg som visas nedan.

Koda:

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

Steg 5: För destinationen, placera igen sökvägen i inverterade komma följt av fil och förlängning.

Koda:

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

Steg 6: Kompilera nu koden och kör den genom att klicka på knappen Spela som finns under menyfältet. Vi ser att excel-filen med namnet Test nu kopieras från källplatsen till destinationsplatsen som visas nedan. Eftersom det inte fanns något i filen så kommer storleken på filen att bli 0 KB .

Exempel 2 - FileCopy In VBA

I ett annat exempel ser vi hur man kopierar filen från källplats till destination genom att definiera variabeln. Denna process är lite lång men mer pålitlig eftersom vi kommer att fixa parametrarna och variabeln.

Steg 1: Öppna nu en ny modul och skriv underkategorin för VBA File Copy som visas nedan.

Koda:

 Sub VBA_Copy2 () Slut Sub 

Steg 2: Definiera först en variabel där vi kommer att placera källplatsen för filen samma excel-fil som vi har använt i exempel-1 som sträng.

Koda:

 Sub VBA_Copy2 () Dim FirstLocation Som String End Sub 

Steg 3: På liknande sätt kommer vi att behöva en annan variabel för destinationen.

Koda:

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

Steg 4: Lägg nu platsen i den första definierade variabeln som är " FirstLocation " tillsammans med filnamn och dess förlängning.

Koda:

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

Steg 5: På samma sätt, gör samma sak för Destination plats med variabeln " SecondLocation" som vi har definierat ovan.

Koda:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation Som String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB-fil \ April Files \ Hello.xlsx" Slut Sub 

Steg 6: Nu är det dags att använda FileCopy- funktionen.

Koda:

 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 

Enligt syntax för FileCopy först måste vi placera källplats där vi har behållit filen. Men som vi redan har definierat käll- och destinationsplatsmapparna ovan för båda variablerna.

Steg 7: Så här kan vi direkt välja dessa variabler. Välj först källplatsvariabel som är FirstLocation .

Koda:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation Som String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB-fil \ April Files \ Hello.xlsx" FileCopy FirstLocation Slut sub 

Steg 8: Återigen på ett liknande sätt väljer du destinationens variabel som är SecondLocation som visas nedan.

Koda:

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

Steg 9: När det är gjort kommer vi att sammanställa koden genom att trycka på funktionsknappen F8. Och om det inte finns något fel hittar du koden. Vi ser att filen från källplatsen kopieras och klistras in i destinationsmappen som visas nedan.

Vi kan också prova olika platsvägar. För test låt oss överväga en annan källplats där vi kommer att ha en ordfil.

Som vi kan se har filen inga data så storleken visas igen som 0 KB.

Och destinationsmappen är mappen Output Location som ligger under mappen Input Location. Om vi ​​ser inuti filen finns det inga data tillgängliga.

Nu kommer vi att ersätta källan och destinationen i variablerna FirstLocation respektive Second Location följt av filnamnet och dess förlängning.

Koda:

 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 

Kör nu koden.

Vi ser att testordfilen nu kopieras från mappen Input Location till mappen Output location med samma storlek som är 0 KB.

Fördelar med FileCopy In VBA

  • Den kan användas för att kopiera mer än 1 fil i ett skott.
  • Det tar en liknande tid för 10 filer som det tar att kopiera en fil.
  • Vi kan använda alla filändelser som vi vill kopiera.

Saker att komma ihåg

  • Lägg alltid filnamnet och dess förlängning i slutet av platsnamnet.
  • Citera destinations- och källplatsplatslänkar till inverterade kommatecken.
  • När du är klar sparar du koden i makro och gör det möjligt för Excel att använda och behålla koden för framtida ändamål.
  • Ge alltid tillstånd att koda så att den kan kopiera filen från källplatsen och klistra in den på en destinationsplats.

Rekommenderade artiklar

Detta är en guide till FileCopy i VBA. Här diskuterar vi hur man kopierar en Excel-fil med VBA-kod tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Arbetar med VBA Active Cell
  2. Radera en rad i VBA
  3. Hur använder jag Excel VBA-transponering?
  4. Hur du åtgärdar 1004-fel vid användning av VBA

Kategori: