Excel VBA -kopio

Tiedoston kopiointi tai siirtäminen kansiosta toiseen on monia tapoja. Voimme tehdä sen manuaalisesti kopioimalla ja leikkaamalla tiedostokuvaketta ja liittämällä sen kohdekansioon. Mutta kun kyse on tiedoston kopiointiprosessin automatisoinnista, voimme tehdä sen myös VBA: ssa. Tiedoston kopioimiseksi VBA: lla on käytettävissä toiminto, jonka nimi on sama ”File Copy”.

FileCopyn syntaksi Excel VBA: ssa

Tiedostokopiointi on erittäin helppoa VBA: ssa. Tiedostokopion syntaksi on alla olevan kuvan mukainen.

Tiedostokopiossa on vain kaksi syötettävää komponenttia. Mitkä ovat:

  • Lähde - Täällä laitamme lähteen sijainnin, josta meidän on kopioitava tiedosto.
  • Kohde - ja tämä on kohdekansio, johon kopioitu tiedosto liitetään.

Koko syntaksi on merkkijonotietotyypissä. Koska käytämme tiedostona polkua, joka on tekstissä.

Kuinka kopioida tiedosto Excel VBA: lla?

Kokeile nyt joitain esimerkkejä VBA-tiedostojen kopiosta Excelissä.

Voit ladata tämän VBA-tiedoston Excel-mallin kopioinnin tästä - VBA Kopioi tiedoston Excel-mallin

Esimerkki 1 - FileCopy VBA: ssa

Ensimmäisessä esimerkissä näemme kuinka kopioida tiedosto lähdepaikasta ja liittää se kohdepaikkaan hyvin yksinkertaisella tavalla.

Tätä varten tarvitsemme kaikenlaista tiedostoa tai tiedostotunnistetta. Tässä tarkastellaan Excel-tiedostoa, jonka tunniste on xlsx . Kuten voimme nähdä, olemme sijoittaneet kyseisen excel-tiedoston helppokäyttöiseen sijaintiin, nimeltään Test .

Nyt kopioimme tämän tiedoston FileCopyn avulla alla olevaan kohdekansioon.

Vaihe 1: Siirry tätä varten VBA: hon ja avaa moduuli Aseta-valikon avattavasta vaihtoehdosta alla olevan kuvan mukaisesti.

Vaihe 2: Kirjoita nyt avattuun moduuliin VBA FileCopy -alaluokka tai muu valitsemasi nimi.

Koodi:

 Ala VBA_Copy1 () Loppu alaosa 

Vaihe 3: Avaa nyt FileCopy- toiminto suoraan alla olevan kuvan mukaisesti.

Koodi:

 Sub VBA_Copy1 () FileCopy (loppu Sub 

Vaihe 4: Kirjoita nyt lainausmerkeissä lähdeosoite ja seuraa tiedostonimi ja laajennus alla esitetyllä tavalla.

Koodi:

 Sub VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", loppu Sub 

Vaihe 5: Kohdekohdan kohdalla laita polku käänteisiin pilkuihin, jota seuraa tiedosto ja laajennus.

Koodi:

 Sub VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", "D: \ VPB File \ April Files \ Hello.xlsx" End Sub 

Vaihe 6: Käännä nyt koodi ja suorita se napsauttamalla valikkopalkin alla olevaa Toista-painiketta. Näemme, että Testit-niminen excel-tiedosto kopioidaan nyt lähdepaikasta määränpääpaikkaan alla olevan kuvan mukaisesti. Koska tiedostossa ei ollut mitään, niin tiedoston koko on 0 kt .

Esimerkki 2 - FileCopy VBA: ssa

Toisessa esimerkissä näemme kuinka kopioida tiedosto lähdepaikasta määränpäähän määrittelemällä muuttuja. Tämä prosessi on vähän pitkä, mutta luotettavampi, kun me korjaamme parametrit ja muuttujat.

Vaihe 1: Nyt avaa ensin uusi moduuli ja kirjoita VBA-tiedoston kopion alaluokka alla olevan kuvan mukaisesti.

Koodi:

 Sub VBA_Copy2 () loppu Sub 

Vaihe 2: Määritä ensin muuttuja, johon me sijoitamme tiedoston lähteen sijainnin samaan excel-tiedostoon, jota olemme käyttäneet esimerkissä-1 merkkijonona.

Koodi:

 Sub VBA_Copy2 () himmentää ensimmäistä sijaintia merkkijonon lopuna 

Vaihe 3: Samalla tavalla tarvitsemme toisen muuttujan määränpääpaikkaan.

Koodi:

 Sub VBA_Copy2 () Dim FirstLocation merkkijonona Dim SecondLocation merkkijonona End Sub 

Vaihe 4: Laita nyt sijainti ensimmäiseen määriteltyyn muuttujaan, joka on ” FirstLocation ” yhdessä tiedostonimen ja sen laajennuksen kanssa.

Koodi:

 Sub VBA_Copy2 () Dim FirstLocation merkkijonona Dim SecondLocation merkkijonona FirstLocation = "D: \ Test1 \ Hello.xlsx" End Sub 

Vaihe 5: Samalla tavalla tee sama asia määränpään sijaintiin käyttämällä muuttujaa “ SecondLocation”, jonka olemme määritellyt edellä.

Koodi:

 Sub VBA_Copy2 () Dim FirstLocation merkkijonona Dim SecondLocation merkkijonona FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Tiedostot \ Hello.xlsx" End Sub 

Vaihe 6: Nyt on aika käyttää FileCopy- toimintoa.

Koodi:

 Sub VBA_Copy2 () Dim FirstLocation merkkijonona Dim SecondLocation merkkijonona FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Tiedostot \ Hello.xlsx" FileCopy End Sub 

Kuten ensin FileCopy-syntaksissa, meidän on asetettava lähdepaikka, missä olemme pitäneet tiedoston. Mutta kuten olemme jo määritelleet lähteen ja määränpään sijaintikansat molemmille muuttujille yllä.

Vaihe 7: Voimme siis valita suoraan nämä muuttujat. Valitse ensin lähteen sijaintimuuttuja, joka on FirstLocation .

Koodi:

 Sub VBA_Copy2 () Dim FirstLocation merkkijonona Dim SecondLocation Kuten String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Tiedostot \ Hello.xlsx" FileCopy FirstLocation End Sub 

Vaihe 8: Valitse jälleen samalla tavalla samalla tavalla kuin kohteen sijaintimuuttuja, joka on SecondLocation alla olevan kuvan mukaisesti.

Koodi:

 Sub VBA_Copy2 () Dim FirstLocation merkkijonona Dim SecondLocation Kuten String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy FirstLocation, SecondLocation End Sub 

Vaihe 9: Kun olet valmis, käännämme koodin painamalla F8-toimintonäppäintä. Ja jos virhettä ei löydy, suorita koodi. Näemme, että lähdepaikan tiedosto kopioidaan ja liitetään kohdekansioon alla olevan kuvan mukaisesti.

Voimme kokeilla myös erilaista sijaintipolkua. Tarkastellaan testiä varten toinen lähdepaikka, jossa meillä on tekstitiedosto.

Kuten voimme nähdä, tiedostolla ei ole tietoja, joten koko on jälleen 0 kt.

Ja kohdekansio on Output Location -kansio, joka on Input Location -kansion alla. Jos näemme tiedoston sisällä, tietoja ei ole käytettävissä.

Nyt korvaamme lähteen ja määrän muuttujissa FirstLocation ja Second Location vastaavasti, jota seuraa tiedostonimi ja sen laajennus.

Koodi:

 Sub VBA_Copy2 () Dim FirstLocation merkkijonona Dim SecondLocation merkkijonona FirstLocation = "D: \ VPB-tiedosto \ Huhtikuun tiedostot \ Uusi Excel \ Test Case.docx" SecondLocation = "D: \ VPB-tiedosto \ Huhtikuun tiedostot \ Lopullinen sijainti \ Testitapaus. docx "FileCopy FirstLocation, SecondLocation End Sub 

Suorita nyt koodi.

Nähdään, että testisana- tiedosto on nyt kopioitu syöttösijainti- kansiosta Tulostuspaikka- kansioon, jonka koko on 0 kt.

Plussa FileCopy VBA

  • Sitä voidaan käyttää useamman kuin yhden tiedoston kopiointiin yhdessä otoksessa.
  • 10 tiedostoon kuluu samanlainen aika kuin yhden tiedoston kopiointiin.
  • Voimme käyttää mitä tahansa tiedostotyyppiä, jonka haluamme kopioida.

Muistettavat asiat

  • Laita tiedostonimi ja sen laajennus aina sijaintinimen loppuun.
  • Lainaa kohde- ja lähteen sijaintilinkit käänteisiksi pilkuiksi.
  • Kun olet valmis, tallenna koodi makroon, jotta Excel voi käyttää ja säilyttää koodin tulevaan tarkoitukseen.
  • Anna aina lupa koodata, jotta se voi kopioida tiedoston lähdepaikasta ja liittää sen määränpäähän.

Suositellut artikkelit

Tämä on opas FileCopylle VBA: ssa. Tässä keskustellaan siitä, kuinka kopioida Excel-tiedosto VBA-koodilla, käytännön esimerkkien ja ladattavan Excel-mallin avulla. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Yhteistyö VBA Active Cellin kanssa
  2. Rivin poistaminen VBA: sta
  3. Kuinka käyttää Excel VBA -siirtoa?
  4. Kuinka korjata 1004 -virhe VBA: n avulla

Luokka: