VBA -kopiointitiedosto / työkirja

VBA: n avulla voit kopioida tiedoston käyttämällä FileSystemObject. Tässä opetusohjelmassa opit kopioimaan ja nimeämään tietyn tiedoston uudelleen.

Jos haluat oppia nimeämään tiedoston uudelleen, voit napsauttaa tätä linkkiä: VBA Nimeä tiedosto uudelleen

Kopioi tiedosto / työkirja

Näytämme kuinka kopioida olemassa oleva tiedosto Esimerkkitiedosto 1.xlsx kansiossa VBA -kansio. Tässä esimerkissä emme nimeä tiedostoa uudelleen, vain kopioi ja korvaa se. Kansiossa on tällä hetkellä vain tämä yksi tiedosto:

Kuva 1. Tiedosto kansiossa C: \ VBA Folder

Tässä on koodi:

12345 Dim oFSO kohteenaAseta oFSO = CreateObject ("Scripting.FileSystemObject")Soita oFSO.CopyFile ("C: \ VBA -kansio \ Esimerkkitiedosto 1.xlsx", "C: \ VBA -kansio \", tosi)

Sinun on ensin luotava luokan objekti Scripting.FileSystemObject:

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

Sitten voimme käyttää menetelmää Kopioi tiedosto:

1 Soita oFSO.CopyFile ("C: \ VBA -kansio \ Esimerkkitiedosto 1.xlsx", "C: \ VBA -kansio \", tosi)

Menetelmän ensimmäinen parametri on lähdepolku ja toinen kohdepolku. Kolmas parametri on Korvaa. Koska meillä on samat lähde- ja kohdepolut, meidän on asetettava Korvaa tosi vai epätosi. Tässä esimerkissä asetamme True, mikä tarkoittaa, että alkuperäinen tiedosto korvataan.

Katsotaan nyt, mitä tapahtuu, jos meillä on samat kohteet, mutta asetamme Overwrite -asetukseksi False. Sinun tarvitsee vain muuttaa tätä koodiriviä:

1 Soita oFSO.CopyFile ("C: \ VBA -kansio \ Esimerkkitiedosto 1.xlsx", "C: \ VBA -kansio \", tosi)

Tämän seurauksena saat virheen, kuten näet kuvassa 2:

Kuva 2. Virhe tiedoston kopioinnissa

Kopioi ja nimeä tiedosto uudelleen

Toinen mahdollinen vaihtoehto tiedoston kopioimisessa on nimetä se uudelleen. Se muistuttaa tiedoston kopiointia, mutta nyt sinun on vain määritettävä kohdepolku eri nimellä. Tässä on koodi:

12345 Dim oFSO kohteenaAseta oFSO = CreateObject ("Scripting.FileSystemObject")Soita oFSO.CopyFile ("C: \ VBA -kansio \ Esimerkkitiedosto 1.xlsx", "C: \ VBA -kansio \ Esimerkkitiedosto Copy.xlsx")

Kuten näet koodin viimeiseltä riviltä, ​​haluamme kopioida tiedoston Esimerkkitiedosto 1.xlsx samaan kansioon ja nimeä se Esimerkkitiedosto Copy.xlsx:

1 Soita oFSO.CopyFile ("C: \ VBA -kansio \ Esimerkkitiedosto 1.xlsx", "C: \ VBA -kansio \ Esimerkkitiedosto Copy.xlsx")

Nyt meillä on kaksi tiedostoa VBA -kansiossa. Koodin tulos on kuvassa 3:

Kuva 3. Kopioi ja nimeä tiedosto uudelleen

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave