VBA failikoopia - Kopeerige fail ühest kohast teise, kasutades VBA-d

Lang L: none (table-of-contents):

Anonim

Exceli VBA failikoopia

Faili ühest kaustast teise kopeerimiseks või teisaldamiseks on palju võimalusi. Saame seda teha käsitsi failiikooni kopeerimine ja tükeldamine ning sihtkausta kleepimine. Kuid faili kopeerimise protsessi automatiseerimisel saame seda teha ka VBA-s. Faili kopeerimiseks on meil VBA-s saadaval funktsioon, mis kannab nime “File Copy”.

Faili koopia süntaks Excel VBA-s

VBA-s on failikoopiat väga lihtne rakendada. Failkoopia süntaks on järgmine.

Failkoopia sisaldab ainult kahte komponenti. Millised on:

  • Allikas - siia paneme lähtekoha asukoha, kust peame faili kopeerima.
  • Sihtkoht - ja see on sihtkoha kaust, kuhu me kopeeritud faili kleepime.

Kogu süntaks on stringi andmetüübis. Sest me kasutame faili teed, mis on tekstina.

Kuidas faili kopeerida Excel VBA-s?

Proovime nüüd mõnda näidet VBA failikoopia kohta Excelis.

Selle VBA faili Exceli malli kopeerimine saate alla laadida siit - VBA faili Exceli malli kopeerimine

Näide nr 1 - failide koopia VBA-s

Esimeses näites näeme, kuidas kopeerida fail lähteallikast ja kleepida see sihtkoha asukohta väga lihtsal viisil.

Selleks vajame mis tahes faili või laiendiga faili. Siin kaalume Exceli faili laiendiga xlsx . Nagu näeme, oleme selle exceli faili paigutanud hõlpsasti juurdepääsetavasse kohta nimega Test .

Nüüd kopeerime selle faili FileCopy abil allolevasse sihtkausta.

1. samm: selleks minge VBA-le ja avage rippmenüüst Sisestage moodul, nagu näidatud allpool.

2. samm: kirjutage avatud moodulis VBA FileCopy alamkategooria või mõni muu nimi vastavalt oma valikule.

Kood:

 Alam VBA_Copy1 () lõpp alam 

3. samm: nüüd avage otse funktsioon FileCopy, nagu allpool näidatud.

Kood:

 Alam VBA_Copy1 () FileCopy (lõpu alam 

4. samm: kirjutage jutumärkides lähtekoha asukoha aadress, seejärel faili nimi ja laiendus, nagu allpool näidatud.

Kood:

 Alam VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", lõpp Sub 

5. samm: määrake sihtkoha jaoks asukoht uuesti ümberpööratud komadega, millele järgneb fail ja laiend.

Kood:

 Alam VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", "D: \ VPB fail \ aprilli failid \ Hello.xlsx" Lõpeta alam 

6. samm. Nüüd kompileerige kood ja käivitage see, klõpsates nuppu Esita, mis asub menüüriba all. Näeme, et Exceli fail nimega Test on nüüd allika asukohast sihtkohta kopeeritud, nagu allpool näidatud. Kuna failis polnud midagi, siis on faili suurus 0 KB .

Näide 2 - failikoopia VBA-s

Järgmises näites näeme, kuidas kopeerida faili lähtekoha asukohast sihtpunkti, määrates muutuja. See protsess on vähe pikk, kuid usaldusväärsem, kuna me määrame parameetrid ja muutujad.

1. samm: nüüd avage kõigepealt uus moodul ja kirjutage VBA failikoopia alamkategooria, nagu allpool näidatud.

Kood:

 Alam VBA_Copy2 () lõpp alam 

2. samm: kõigepealt määratlege muutuja, kuhu me paneme faili lähtekoha sama exceli faili jaoks, mida oleme näites 1 Stringina kasutanud.

Kood:

 Alam VBA_Copy2 () hämardab esimest asukohta kui stringi lõpp-alam 

3. samm: sarnaselt vajame sihtkoha asukoha jaoks veel ühte muutujat.

Kood:

 Alam VBA_Copy2 () Hämardama esimest asukohta kui stringi Dim teist asukohta kui stringi lõppu alam 

4. samm: pange nüüd asukoht esimesse määratletud muutujasse, mis on “ FirstLocation ” koos faili nime ja selle laiendiga.

Kood:

 Alam VBA_Copy2 () Hämardama esimest asukohta kui stringi Tühja teisest asukohta kui stringi FirstLocation = "D: \ Test1 \ Hello.xlsx" Lõpp alam 

5. samm: tehke sarnaselt ülaltoodud muutuja „ SecondLocation” abil sama toimingut ka sihtkoha asukoha jaoks.

Kood:

 Alam VBA_Copy2 () Dim FirstLocation nagu String Dim SecondLocation as String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" End Sub 

6. samm: nüüd on aeg kasutada FileCopy funktsiooni.

Kood:

 Alam VBA_Copy2 () Dim FirstLocation nagu String Dim SecondLocation as String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy End Sub 

Nagu kõigepealt FileCopy süntaks, peame panema lähtekoha, kuhu oleme faili hoidnud. Kuid nagu me oleme mõlema muutuja jaoks juba allpool määratlenud lähte- ja sihtkohakaustad.

7. samm: siin saame neid muutujaid otse valida. Kõigepealt valige allika asukoha muutuja, mis on FirstLocation .

Kood:

 Alam VBA_Copy2 () Dim FirstLocation nagu String Dim SecondLocation Nagu String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy FirstLocation End Sub Sub 

8. samm: jällegi valige sarnasel viisil sihtkoha asukoha muutuja, mis on SecondLocation, nagu allpool näidatud.

Kood:

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

9. samm: kui see on valmis, kompileerime koodi funktsiooniklahvi F8 vajutades. Ja kui ühtegi viga ei leitud, siis käivitage kood. Näeme, et lähtekoha asukohast pärit fail kopeeritakse ja kleebitakse sihtkausta nagu allpool näidatud.

Saame proovida ka erinevaid asukoharadu. Katsetamiseks kaalume mõnda muud lähtekohta, kus meil on sõnafail.

Nagu näeme, pole failil andmeid, nii et selle suurus on jällegi 0 KB.

Ja sihtkaustaks saab väljundi asukoha kaust, mis asub sisendkausta all. Kui näeme faili sees, pole andmeid saadaval.

Nüüd asendame allika ja sihtkoha vastavalt muutujates FirstLocation ja Second Location, millele järgnevad faili nimi ja selle laiendus.

Kood:

 Sub VBA_Copy2 () Dim FirstLocation stringina Dim SecondLocation stringina FirstLocation = "D: \ VPB fail \ aprilli failid \ New Excel \ Test Case.docx" SecondLocation = "D: \ VPB fail \ aprilli failid \ lõplik asukoht \ testjuhtum. docx "FileCopy FirstLocation, SecondLocation End Sub 

Nüüd käivitage kood.

Näeme, et testsõnumi fail on nüüd kopeeritud sisendkausta kausta Väljundi asukoht sama suurusega, mis on 0 KB.

VBA failikoopia plussid

  • Seda saab kasutada rohkem kui ühe faili kopeerimiseks ühe võttega.
  • 10 faili jaoks kulub sama palju aega kui ühe faili kopeerimiseks.
  • Saame kasutada mis tahes laiendusfaili tüüpi, mida tahame kopeerida.

Asjad, mida meeles pidada

  • Pange alati failinimi ja selle laiend asukoha nime lõppu.
  • Tsiteerige sihtkoha ja lähtekoha lingid ümberpööratud komadesse.
  • Kui see on valmis, salvestage kood makro, et Exceli saaks koodi edaspidi kasutada ja säilitada.
  • Andke alati luba kodeerimiseks, et see saaks faili lähtekoha asukohast kopeerida ja selle sihtkohta kleepida.

Soovitatavad artiklid

See on juhend FileCopy jaoks VBA-s. Siin arutatakse, kuidas kopeerida Exceli faili VBA-koodi abil koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. Töö VBA Active Celliga
  2. Rea kustutamine VBA-s
  3. Kuidas kasutada Exceli VBA ülekandmist?
  4. Kuidas VBA abil viga 1004 parandada