VBA FileCopy funkcija | Kopijuoti failą iš vieno katalogo į kitą

„Excel VBA FileCopy“ funkcija

Failo kopijavimas yra integruota „VBA“ funkcija, naudojama failui nukopijuoti iš vienos vietos į kitą paminėtą vietą. Norėdami naudoti šią funkciją, turime paminėti dabartinį failo kelią ir paskirties failo kelią.

Gerai, pažvelkime į „FileCopy“ funkcijos sintaksę.

  • Šaltinis: Tai ne kas kita, o iš kur turime nukopijuoti failą. Turime paminėti visiškai kvalifikuotą aplanko kelią.
  • Paskirtis: Tai yra paskirties aplankas, kuriame turime įklijuoti nukopijuotą failą.

Pavyzdžiai

Žemiau pateikiami pavyzdžiai, kaip nukopijuoti failus naudojant VBA kodą.

Šį „VBA File Copy Excel“ šabloną galite atsisiųsti čia - „VBA File Copy Excel“ šablonas

1 pavyzdys

Pradėkime nuo paprasto pavyzdžio. Aš aplanke turiu failą pavadinimu „2019 m. Balandžio mėn.“. Žemiau pateikiamas to paties, ty „ Šaltinio “ vaizdas.

Iš aukščiau nurodytos vietos noriu nukopijuoti šį failą ir įklijuoti į kitą aplanką. Žemiau pateikiamas to paties, ty „ Paskirties šaltinio“ vaizdas.

Gerai, parašykime jo kodą.

Atidarykite „ FileCopy“ funkciją „Sub“ procedūroje.

Kodas:

 Antrinis failo kopija_pavyzdys1 ()

„FileCopy“

Pabaigos sub

Pirmojo argumento atveju turime paminėti failo kelią, kuriame yra mūsų dabartinė.

Kodas:

 Antrinis failo kopija_pavyzdys1 ()

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

Pabaigos sub

Paminėjus aplanko kelią, reikia paminėti ir failą su failo plėtiniu. Taigi paminėkite failo pavadinimą įdėdami atgalinį brūkšnį (\).

Kodas:

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

Dabar antrame argumente paminėkite, kur turime įklijuoti nukopijuotą failą.

Kodas:

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

Vienas dalykas, kurį turime padaryti toliau, pabaigoje paminėdami aplanko kelią, paskirties argumente turime paminėti ir failo pavadinimą.

Dabar paleiskite kodą naudodami F5 klavišą arba rankiniu būdu, tada jis nukopijuos failą iš žemiau esančios vietos į paskirties vietą.

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

„D: \ Mano failai \ VBA \ Paskirties aplankas \ Pardavimai, 2019 m. Balandžio mėn. Xlsx“

2 pavyzdys - naudokite kintamuosius šaltinio keliui ir paskirties keliui išsaugoti.

Ankstesniame pavyzdyje mes pateikėme šaltinio kelią ir paskirties kelią tiesiai į formulę. Bet tai nėra geriausia praktika tęsti, todėl saugokime juos kintamuosiuose.

Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

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

Leiskite man išsamiai paaiškinti kodą.

Pirmiausia aš paskelbiau du kintamuosius.

 „Dim SourcePath As String“ „Dim DestinationPath“ kaip eilutė 

Tada pirmajam kintamajam priskyriau aplanko kelią, iš kurio jis turi nukopijuoti failą ir failo pavadinimą kartu su failo plėtiniu.

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

Antram kintamajam panašiai priskyriau paskirties aplanko kelią su failo pavadinimu ir „Excel“ plėtiniu.

DestinationPath = "D: \ Mano failai \ VBA \ Paskirties aplankas \ Pardavimai, 2019 m. Balandžio mėn. Xlsx"

Tada formulei „FileCopy“ pateikiau šiuos kintamuosius, o ne ilgas aplanko kelio eilutes.

„FileCopy“ šaltinio kelias, paskirties kelias

Taip galime naudoti kintamuosius keliams saugoti ir efektyviai naudoti.

3 pavyzdys - klaida naudojant failo kopijavimo funkciją

Kartais failo kopijavimo funkcija aptinka klaidą „Leidimas atmestas“.

Priežastis, kodėl mes gauname šią klaidą, nes atidarius kopijavimo failą ir bandant nukopijuoti minėtą klaidą, visada uždarykite failą ir vykdykite kodą.


$config[zx-auto] not found$config[zx-overlay] not found