VBA FileCopy -toiminto | Kopioi tiedosto yhdestä hakemistosta toiseen
Excel VBA FileCopy -toiminto
Tiedoston kopiointi on sisäänrakennettu vba-toiminto, jota käytetään kopioimaan tiedosto paikasta toiseen mainittuun paikkaan. Tämän toiminnon käyttämiseksi meidän on mainittava nykyinen tiedostopolku ja kohdetiedoston polku.
Ok, katsotaanpa FileCopy-funktion syntaksia.
- Lähde: Tämä ei ole muuta kuin mistä meidän on kopioitava tiedosto. Meidän on mainittava täysin pätevä kansiopolku.
- Kohde: Tämä on kohdekansio, johon meidän on liitettävä kopioitu tiedosto.
Esimerkkejä
Alla on esimerkkejä tiedostojen kopioimisesta VBA-koodilla.
Voit ladata tämän VBA-tiedostokopio Excel-mallin täältä - VBA-tiedostokopio Excel-malliEsimerkki 1
Aloitetaan yksinkertaisella esimerkillä. Minulla on kansiossa tiedosto nimeltä Myynti huhtikuu 2019. Alla on sama kuva eli " Lähde ".
Haluan kopioida tämän tiedoston yllä olevasta sijainnista ja liittää toiseen kansioon. Alla on kuva samasta eli " Kohde lähde".
Ok, kirjoitetaan sille koodi.
Avaa FileCopy- toiminto Sub-prosessin sisällä.
Koodi:
AlitiedostoKopio_esimerkki1 ()
FileCopy
End Sub
Ensimmäisen argumentin osalta meidän on mainittava tiedostopolku, jossa nykyinen on.
Koodi:
AlitiedostoKopio_esimerkki1 ()
FileCopy “D: \ Omat tiedostot \ VBA \ Huhtikuun tiedostot
End Sub
Mainittuaan kansiopolun meidän on mainittava myös tiedosto, jolla on tiedostotunniste. Joten mainitse tiedoston nimi laittamalla taaksepäin vinoviiva (\).
Koodi:
Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx", End Sub
Mainitse nyt toisessa argumentissa, mihin meidän on liitettävä kopioitu tiedosto.
Koodi:
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
Yksi asia, joka meidän on tehtävä jäljempänä mainitsemalla kansion polku lopussa, meidän on mainittava myös tiedoston nimi kohde-argumentissa.
Suorita koodi nyt F5-näppäimellä tai manuaalisesti, jolloin se kopioi tiedoston alla olevasta sijainnista määränpäähän.
"D: \ Omat tiedostot \ VBA \ Huhtikuun tiedostot \ Myynti huhtikuu 2019.xlsx"
"D: \ Omat tiedostot \ VBA \ Kohdekansio \ Myynti huhtikuu 2019.xlsx"
Esimerkki # 2 - Käytä muuttujia lähdepolun ja kohdepolun tallentamiseen.
Edellisessä esimerkissä olemme toimittaneet lähdepolun ja kohdepolun suoraan kaavaan. Mutta tämä ei ole paras tapa jatkaa, joten tallennetaan ne muuttujiin.
Katso esimerkki alla olevasta koodista.
Koodi:
Sub FileCopy_Example2 () Himmennä SourcePath merkkijonona Dim DestinationPath As String SourcePath = "D: \ Omat tiedostoni \ VBA \ Huhtikuun tiedostot \ Myynti huhtikuu 2019.xlsx" DestinationPath = "D: \ Omat tiedostot \ VBA \ Kohdekansio \ Myynti huhtikuu 2019. xlsx "FileCopy SourcePath, DestinationPath End Sub
Anna minun selittää koodi yksityiskohtaisesti sinulle.
Ensin olen ilmoittanut kaksi muuttujaa.
Himmennä lähdepolku merkkijonona Hämärä kohdepolku merkkijonona
Sitten ensimmäiselle muuttujalle olen määrittänyt kansion polun, josta sen on kopioitava tiedosto ja tiedostonimi sekä sen tiedostotunniste.
SourcePath = "D: \ Omat tiedostot \ VBA \ Huhtikuun tiedostot \ Myynti huhtikuu 2019.xlsx"
Toiselle muuttujalle vastaavasti olen määrittänyt kohdekansiopolun tiedostonimellä ja Excel-laajennuksella.
DestinationPath = "D: \ Omat tiedostot \ VBA \ Kohdekansio \ Myynti huhtikuu 2019.xlsx"
Sitten olen toimittanut kaavalle FileCopy nämä muuttujat pitkien kansiopolun merkkijonojen sijaan.
FileCopy SourcePath, DestinationPath
Tällä tavoin voimme käyttää muuttujia polkujen tallentamiseen ja käyttämiseen tehokkaasti.
Esimerkki # 3 - Virhe tiedostokopiointitoiminnossa
Joskus tiedostokopiointitoiminto havaitsee virheen ”Lupa evätty”.
Syy miksi saamme tämän virheen, koska kun kopiointitiedosto avataan ja jos yrität kopioida yllä oleva virhe tulee, sulje tiedosto aina ja suorita koodi.