Excel VBA FileCopy

A fájlok másolása vagy áthelyezése egyik mappából a másikba számos módon lehetséges. Ezt manuálisan megtehetjük a Fájl ikon másolása és kivágása, valamint a célmappába való beillesztése útján. De amikor a fájl lemásolásának ezen folyamatát automatizáljuk, akkor ezt megtehetjük a VBA-ban is. A fájl másolásához a VBA-ban rendelkezésre áll egy olyan fájl, amely ugyanazt a “File Copy” nevű fájlt használja.

A FileCopy szintaxisa az Excel VBA-ban

A VBA fájlmásolatot nagyon könnyű alkalmazni. A Fájlmásolás szintaxisa az alább látható.

A fájlmásolásnak csak két összetevője van a betáplálásra. Amelyek:

  • Forrás - Itt adjuk meg a forrás helyét, ahonnan másolni kell a fájlt.
  • Cél - és ez lesz a célmappa, ahova beillesztjük a másolt fájlt.

A teljes szintaxis String adattípusban lesz. Mivel a fájl elérési útját fogjuk használni, amely szöveges lesz.

Hogyan másolhatunk fájlt az Excel VBA-ban?

Most próbáljuk meg néhány példát az VBA fájlmásolásról az Excel programban.

Töltse le ezt a VBA-fájlt az Excel fájlsablon másolásához - VBA Másolja a fájl Excel-sablont

1. példa - FileCopy a VBA-ban

Az első példában meglátjuk, hogyan lehet egy fájlt egy nagyon egyszerű módon lemásolni a forrás helyéről, és beillesztni a rendeltetési helyre.

Ehhez bármilyen fájl vagy kiterjesztés szükséges. Itt egy xlsx kiterjesztésű Excel fájlt tekintünk. Mint láthatjuk, ezt az excel fájlt könnyen hozzáférhető helyre helyeztük el, Test néven .

Most másoljuk ezt a fájlt a FileCopy segítségével az alábbi célmappába.

1. lépés: Ehhez lépjen a VBA-ra, és nyissa meg a Modulot az Insert menü legördülő menüből az alább látható módon.

2. lépés: Írja be a megnyitott modulba a VBA FileCopy alkategóriáját vagy bármely más nevet, amelyet választott.

Kód:

 VBA_Copy1 () alpont 

3. lépés: Most nyissa meg közvetlenül a FileCopy funkciót, az alább látható módon.

Kód:

 VBA_Copy1 () FileCopy (Sub Sub vége) 

4. lépés: Az idézőjelekbe írja be a forrás helyét, majd a fájl nevét és kiterjesztését, az alább látható módon.

Kód:

 VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", Sub vége 

5. lépés: A rendeltetési hely esetében ismét tegye az elérési utat fordított vesszővel, amelyet fájl és kiterjesztés követ.

Kód:

 Al VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", "D: \ VPB fájl \ április fájlok \ Hello.xlsx" Vége al 

6. lépés: Most állítsa össze a kódot, és futtassa a lejátszás gombra kattintva, amely a menüsor alatt található. Látni fogjuk, hogy a tesztnévvel rendelkező Excel fájlt a forrás helyéről a rendeltetési helyre másolja az alább látható módon. Mivel a fájlban nem volt semmi, ezért a fájl mérete 0 KB lesz .

2. példa - FileCopy a VBA-ban

Egy másik példában láthatjuk, hogyan lehet a fájlt a forrás helyéről a rendeltetési helyre másolni a változó meghatározásával. Ez a folyamat kissé hosszabb, de megbízhatóbb, mivel a paramétereket és a változókat rögzítjük.

1. lépés: Most először nyisson meg egy új modult, és írja be a VBA fájlmásolás alkategóriáját az alább látható módon.

Kód:

 VBA_Copy2 () alpont 

2. lépés: Először definiálj egy változót, ahová a fájl forráshelyét ugyanazzal az excel fájllal helyezzük el, amelyet az 1. példában Stringként használtunk.

Kód:

 Sub VBA_Copy2 () Az első hely elsötétítése sztring végeként Sub 

3. lépés: Hasonló módon egy másik változóra lesz szükségünk a célhelyhez.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation mint String Dim SecondLocation as String End Sub 

4. lépés: Helyezze a helyet az első meghatározott változóba, amely „ FirstLocation ”, a fájlnévvel és annak kiterjesztésével együtt.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation Karakterláncként Dim SecondLocation Karakterláncként FirstLocation = "D: \ Test1 \ Hello.xlsx" Sub vége 

5. lépés: Hasonló módon hajtsa végre ugyanazt a célobjektumot a fent definiált „ SecondLocation” változóval.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation Karakterláncként Dim SecondLocation Karakterláncként FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB fájl \ Április fájlok \ Hello.xlsx" Vége Sub 

6. lépés: Most itt az ideje a FileCopy funkció használatához.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation Karakterláncként Dim SecondLocation Karakterláncként FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB fájl \ április fájlok \ Hello.xlsx" FileCopy End Sub 

A FileCopy szintaxisa szerint először a forrás helyét kell megadnunk, ahol megőriztük a fájlt. De amint a fentiekben már definiáltuk a forrás és a rendeltetési hely mappáit mindkét változó számára.

7. lépés: Tehát itt közvetlenül kiválaszthatjuk ezeket a változókat. Először válassza ki a forrás helyének változóját, amely a FirstLocation .

Kód:

 Sub VBA_Copy2 () Dim FirstLocation Karakterláncként Dim SecondLocation Karakterláncként FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB fájl \ április fájlok \ Hello.xlsx" FileCopy FirstLocation End Sub 

8. lépés: ismét hasonló módon válassza ki a rendeltetési hely változóját, amely a SecondLocation, az alább látható módon.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation Karakterláncként Dim SecondLocation Karakterláncként FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB fájl \ április fájlok \ Hello.xlsx" FileCopy FirstLocation, SecondLocation End Sub 

9. lépés: Ha kész, összeállítjuk a kódot az F8 funkciógomb megnyomásával. És ha nem található hiba, akkor futtassa a kódot. Látni fogjuk, hogy a forrás helyéről származó fájlt lemásolja és beilleszti a célmappába, az alább látható módon.

Kipróbálhatunk különböző helységeket is. A teszthez vegyünk egy másik forráshelyet, ahol szófájlt fogunk találni.

Mint látjuk, a fájlnak nincs adatja, tehát a méret ismét 0 KB-ot jelenít meg.

A rendeltetési mappa a Kimeneti hely mappa lesz, amely a Bemeneti hely mappa alatt található. Ha a fájl belsejében látunk, akkor nem állnak rendelkezésre adatok.

Most a forrást és a rendeltetési helyet az FirstLocation és a Second Location változóban cseréljük, majd a fájlnév és annak kiterjesztése követi.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation Karakterláncként Dim SecondLocation Karakterláncként FirstLocation = "D: \ VPB fájl \ április fájlok \ Új Excel \ Test Case.docx" SecondLocation = "D: \ VPB fájl \ április fájlok \ végleges hely \ teszt eset. docx "FileCopy FirstLocation, SecondLocation End Sub 

Most futtassa a kódot.

Látni fogjuk, hogy a Teszt szófájl most másolódik az Input Location mappából a Output location mappába, ugyanolyan méretű, mint 0 KB.

A FileCopy előnyei a VBA-ban

  • Egynél több fájl másolására használható.
  • 10 fájlhoz hasonló ideig tart, mint egy fájl másolásához.
  • Bármely kiterjesztésű fájltípust felhasználhatunk, amelyet másolni akarunk.

Dolgok, amikre emlékezni kell

  • A fájlnevet és annak kiterjesztését mindig a helynév végére tegye.
  • Idézd a rendeltetési hely és a forrás helyét fordított vesszőkké.
  • Ha kész, mentse el a kódot a makróban, hogy az Excel felhasználhassa és megőrizze a kódot jövőbeni célra.
  • Mindig adjon engedélyt a kódoláshoz, hogy az átmásolhassa a fájlt a forrás helyéről, és beilleszthesse a rendeltetési helyre.

Ajánlott cikkek

Ez egy útmutató a FileCopy-hoz a VBA-ban. Itt tárgyaljuk, hogyan lehet másolni egy Excel fájlt a VBA kód használatával, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. Együttműködés a VBA Active Cell-tal
  2. Sor törlése a VBA-ban
  3. Hogyan kell használni az Excel VBA átültetést?
  4. Hogyan javítsuk ki a 1004 hibát a VBA használatával

Kategória: