VBA-filkopia

Excel VBA FileCopy-funktion

File Copy är en inbyggd vba-funktion som används för att kopiera filen från en plats till en annan nämnd plats. För att använda den här funktionen måste vi nämna den aktuella filvägen och sökvägen till målfilen.

Okej, låt oss titta på syntaxen för FileCopy-funktionen.

  • Källa: Detta är inget annat än varifrån vi behöver kopiera filen. Vi måste nämna den fullständigt kvalificerade mappvägen.
  • Destination: Detta är destinationsmappen där vi behöver klistra in den kopierade filen.

Exempel

Nedan följer exempel på hur man kopierar filer med VBA-kod.

Du kan ladda ner denna Excel-mall för VBA-filkopiering här - VBA-kopieringsmall för Excel

Exempel nr 1

Låt oss börja med ett enkelt exempel. Jag har en fil som heter ”Försäljning april 2019” i mappen. Nedan är bilden av samma dvs " Källa ".

Från ovanstående plats vill jag kopiera den här filen och klistra in den i en annan mapp. Nedan är bilden av samma dvs " Destinationskälla".

Okej, låt oss skriva koden för det.

Öppna FileCopy- funktionen i Sub-proceduren.

Koda:

 Sub FileCopy_Example1 ()

FileCopy

Avsluta sub

Nu för det första argumentet måste vi nämna filvägen där vår nuvarande är.

Koda:

 Sub FileCopy_Example1 ()

FileCopy “D: \ My Files \ VBA \ April Files

Avsluta sub

Efter att ha nämnt mappvägen måste vi också nämna filen med filtillägg. Så nämn filnamnet genom att sätta en backslash (\).

Koda:

 Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx", End Sub 

Nu i det andra argumentet nämner var vi behöver klistra in den kopierade filen.

Koda:

 Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx", "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx" End Sub 

En sak som vi måste göra nedan nämner mappvägen i slutet måste vi också nämna filnamnet i målargumentet.

Kör nu koden med F5-tangenten eller manuellt då kommer den att kopiera filen från platsen nedan till en destinationsplats.

“D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx”

“D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx”

Exempel 2 - Använd variabler för att lagra källväg och destinationsväg.

I föregående exempel har vi levererat källvägen och destinationsvägen direkt till formeln. Men det här är inte den bästa metoden att fortsätta, så låt oss lagra dem i variabler.

För ett exempel, se nedanstående kod.

Koda:

 Sub FileCopy_Example2 () Dim SourcePath Som String Dim DestinationPath Som String SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx" DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019. xlsx "FileCopy SourcePath, DestinationPath End Sub 

Låt mig förklara koden i detalj för dig.

Först har jag förklarat två variabler.

 Dim SourcePath Som String Dim DestinationPath As String 

Sedan för den första variabeln har jag tilldelat mappvägen från vilken den måste kopiera filen och filnamnet tillsammans med dess filtillägg.

SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx"

För den andra variabeln på samma sätt har jag tilldelat målmappsökvägen med filnamn och Excel-tillägg.

DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx"

Sedan för formeln FileCopy har jag tillhandahållit dessa variabler istället för långa mappsöksträngar.

FileCopy SourcePath, DestinationPath

Så här kan vi använda variabler för att lagra banorna och använda dem effektivt.

Exempel # 3 - Fel med filkopiering

Ibland stöter på filkopieringsfelet "Tillstånd nekad".

Anledningen till att vi får det här felet för att när kopieringsfilen öppnas och om du försöker kopiera ovanstående fel kommer alltid att stänga filen och köra koden.