VBA -kopieringsfil / arbeidsbok

VBA lar deg kopiere en fil ved hjelp av FileSystemObject. I denne opplæringen lærer du hvordan du kopierer og gir nytt navn til en bestemt fil.

Hvis du vil lære å gi nytt navn til en fil, kan du klikke på denne lenken: VBA Gi nytt navn til fil

Kopier en fil / arbeidsbok

Vi viser hvordan du kopierer den eksisterende filen Eksempelfil 1.xlsx i mappen VBA -mappe. I dette eksemplet vil vi ikke gi filen nytt navn, bare kopiere og overskrive den. Mappen har for øyeblikket bare denne ene filen:

Bilde 1. Fil i mappe C: \ VBA -mappe

Her er koden:

12345 Dim oFSO som objektSett oFSO = CreateObject ("Scripting.FileSystemObject")Ring oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \", True)

Du må først lage objektet for klassen Scripting.FileSystemObject:

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

Så kan vi bruke metoden Kopier fil:

1 Ring oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \", True)

Den første parameteren for metoden er kildebanen og den andre er destinasjonsbanen. Den tredje parameteren er Overskrive. Siden vi har samme kilde- og destinasjonsveier, må vi angi Overskrive til sant eller usant. I dette eksemplet legger vi True, noe som betyr at den opprinnelige filen er overskrevet.

La oss se hva som skjer hvis vi har de samme destinasjonene, men sett Overskriv til Falsk. Du trenger bare å endre denne linjen i koden:

1 Ring oFSO.CopyFile ("C: \ VBA Folder \ Sample file 1.xlsx", "C: \ VBA Folder \", True)

Som et resultat vil du få en feil som du kan se på bilde 2:

Bilde 2. Feil ved kopiering av filen

Kopier og gi nytt navn til en fil

Et annet mulig alternativ når du kopierer en fil, er å gi nytt navn til den. Det ligner på å kopiere en fil, men nå trenger du bare å angi destinasjonssti med et annet navn. Her er koden:

12345 Dim oFSO som objektSett oFSO = CreateObject ("Scripting.FileSystemObject")Ring oFSO.CopyFile ("C: \ VBA -mappe \ prøvefil 1.xlsx", "C: \ VBA -mappe \ prøvefil Copy.xlsx")

Som du kan se fra den siste linjen i koden, vil vi kopiere filen Eksempelfil 1.xlsx i den samme mappen og navngi den Eksempelfil Copy.xlsx:

1 Ring oFSO.CopyFile ("C: \ VBA -mappe \ prøvefil 1.xlsx", "C: \ VBA -mappe \ prøvefil Copy.xlsx")

Nå har vi to filer i VBA -mappen. Resultatet av koden er i Bilde 3:

Bilde 3. Kopier og gi filen nytt navn

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave