Excel VBA FileCopy
Mnogo je načina za kopiranje ili premještanje datoteke iz jedne mape u drugu. To možemo učiniti ručno iz Kopiranje i rezanje ikone datoteke i lijepljenje u odredišnu mapu. Ali kad je u pitanju automatizacija ovog postupka kopiranja datoteke, to možemo učiniti i u VBA. Za kopiranje datoteke, dostupna je funkcija u VBA koja je nazvana "File Copy" (kopiranje datoteke).
Sintaksa FileCopy u Excelu VBA
Aplikaciju File Copy (kopiranje datoteka) u VBA vrlo je jednostavno. Sintaksa datoteke Kopiranje prikazana je dolje.
File Copy sadrži samo dvije komponente koje se mogu hraniti. Koji su:
- Izvor - Ovdje ćemo staviti lokaciju izvora odakle trebamo kopirati datoteku.
- Odredište - i ovo će biti odredišna mapa u koju ćemo zalijepiti kopiranu datoteku.
Kompletna sintaksa bit će u vrsti podataka String. Jer ćemo koristiti put datoteke koja će biti tekst.
Kako kopirati datoteku u Excel VBA?
Pokušajmo s nekim primjerima kopiranja VBA datoteke u Excelu.
Ovdje možete preuzeti VBA Kopirajte predložak datoteke Excel ovdje - VBA Kopirajte predložak datoteke ExcelPrimjer 1 - FileCopy u VBA
U prvom ćemo primjeru vidjeti kako kopirati datoteku s izvornog mjesta i zalijepiti je na odredišno mjesto na vrlo jednostavan način.
Za to nam treba datoteka bilo koje vrste ili proširenja. Ovdje razmatramo Excel datoteku s nastavkom xlsx . Kao što vidimo, datoteku Excela smjestili smo na mjesto koje je lako pristupiti i nazvano Test .
Sada ćemo kopirati ovu datoteku uz pomoć FileCopy-a u donju odredišnu mapu.
Korak 1: Za to idite na VBA i otvorite modul s padajućeg izbornika Umetanje kao što je prikazano u nastavku.
Korak 2: Sada u otvoreni modul napišite podkategoriju VBA FileCopy ili u bilo koje drugo ime po vašem izboru.
Kodirati:
Sub VBA_Copy1 () Kraj Sub
Korak 3: Sada izravno otvorite funkciju FileCopy kao što je prikazano u nastavku.
Kodirati:
Sub VBA_Copy1 () FileCopy (Kraj sub
Korak 4: Sada u citate upišite adresu lokacije izvora, a zatim ime datoteke i proširenje kao što je prikazano u nastavku.
Kodirati:
Sub VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", Kraj Sub
Korak 5: Za mjesto odredišta ponovo stavite putanju u obrnute zareze, a zatim datoteku i proširenje.
Kodirati:
Pod VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", "D: \ VPB datoteka \ Travan datoteke \ Hello.xlsx" Kraj Sub
Korak 6: Sada sastavite kôd i pokrenite ga klikom na gumb Play koji se nalazi ispod trake izbornika. Vidjet ćemo, datoteka Excel s imenom Test sada se kopira s izvornog mjesta na odredišno mjesto kao što je prikazano u nastavku. Kako u datoteci nije bilo ničega, tako je i veličina datoteke 0 KB .
Primjer 2 - FileCopy U VBA
U drugom primjeru vidjet ćemo kako kopirati datoteku s izvora izvora u odredište definiranjem varijable. Ovaj je postupak malo dugotrajan, ali pouzdaniji jer ćemo popravljati parametre i varijablu.
Korak 1: Sada prvo otvorite novi modul i napišite podkategoriju VBA File Copy kako je prikazano u nastavku.
Kodirati:
Sub VBA_Copy2 () Kraj Sub
Korak 2: Prvo definirajte varijablu u koju ćemo kao izvornu lokaciju datoteke staviti isti excel datoteku koju smo u primjeru-1 koristili kao String.
Kodirati:
Sub VBA_Copy2 () Dim FirstLocation kao string string Sub
Korak 3: Na sličan način trebat će nam druga varijabla za odredišnu lokaciju.
Kodirati:
Sub VBA_Copy2 () Dim FirstLocation kao niz string Dim SecondLocation kao String End Sub
Korak 4: Sada stavite mjesto u prvu definiranu varijablu koja je " FirstLocation ", zajedno s imenom datoteke i njenim proširenjem.
Kodirati:
Pod VBA_Copy2 () Dim FirstLocation kao string Dim SecondLocation kao string string FirstLocation = "D: \ Test1 \ Hello.xlsx" Kraj Sub
Korak 5: Na sličan način napravite istu stvar za odredišnu lokaciju koristeći varijablu " SecondLocation" koju smo gore definirali.
Kodirati:
Pod VBA_Copy2 () Dim FirstLocation kao string Dim SecondLocation kao String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB datoteka \ April Files \ Hello.xlsx" End Sub
Korak 6: Sada je vrijeme za upotrebu FileCopy funkcije.
Kodirati:
Pod VBA_Copy2 () Dim FirstLocation kao string Dim SecondLocation kao String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB datoteka \ April Files \ Hello.xlsx" FileCopy Kraj Sub
Prema sintaksi FileCopy najprije moramo postaviti izvornu lokaciju, gdje smo datoteku i zadržali. No kao što smo već definirali izvorne i odredišne mape lokacije za obje varijable.
Korak 7: Dakle, mi možemo izravno odabrati te varijable. Prvo odaberite varijablu izvorne lokacije koja je FirstLocation .
Kodirati:
Pod VBA_Copy2 () Dim FirstLocation kao string Dim SecondLocation kao string FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB datoteka \ Travanj datoteke \ Hello.xlsx" FileCopy FirstLocation End Sub
Korak 8: Ponovo na sličan način odaberite varijablu odredišne lokacije koja je SecondLocation kao što je prikazano u nastavku.
Kodirati:
Pod VBA_Copy2 () Dim FirstLocation kao string Dim SecondLocation kao String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB datoteka \ Travanj datoteke \ Hello.xlsx" FileCopy FirstLocation, SecondLocation End Sub
Korak 9: Nakon završetka, sastavit ćemo kôd pritiskom na F8 funkcionalnu tipku. A ako nije pronađena nijedna pogreška, pokrenite kôd. Vidjet ćemo, datoteka s izvornog mjesta kopirana je i zalijepljena u odredišnu mapu kao što je prikazano u nastavku.
Također možemo isprobati i različitu putanju lokacije. Za test, razmotrimo još jedno izvorno mjesto gdje ćemo imati datoteku s riječima.
Kao što vidimo, datoteka nema nikakve podatke, pa se veličina opet prikazuje kao 0 KB.
A odredišna mapa bit će mapa Output Location koja se nalazi u mapi Location Input. Ako vidimo unutar datoteke, nema podataka.
Sada ćemo zamijeniti izvor i odredište u varijablama FirstLocation odnosno Second Location, a zatim slijedi naziv datoteke i njeno proširenje.
Kodirati:
Pod VBA_Copy2 () Dim FirstLocation kao string Dim SecondLocation kao niz FirstLocation = "D: Datoteka VPB \ Travanjske datoteke \ New Excel \ Test Case.docx" SecondLocation = "D: \ VPB datoteka \ Travanj datoteke \ Konačna lokacija \ Test case. docx "FileCopy FirstLocation, SecondLocation End Sub
Sada pokrenite kod.
Vidjet ćemo da je datoteka Word Word kopirana iz mape Location Input u mapu Output location iste veličine koja iznosi 0 KB.
Pros za FileCopy u VBA
- Može se koristiti za kopiranje više od jedne datoteke u jednom kadru.
- Za 10 datoteka potrebno je približno toliko vremena koliko je potrebno za kopiranje jedne datoteke.
- Možemo koristiti bilo koju vrstu datoteke proširenja koju želimo kopirati.
Stvari koje treba zapamtiti
- Uvijek stavite naziv datoteke i njeno proširenje na kraj naziva lokacije.
- Navedite veze odredišta i lokacije u pretvorene zareze.
- Nakon završetka spremite kôd u Makronaredbi kako biste omogućili Excelu da ga koristi i zadrži za buduću svrhu.
- Uvijek dajte dozvolu za kodiranje kako bi mogla kopirati datoteku s izvornog mjesta i zalijepiti je na odredišno mjesto.
Preporučeni članci
Ovo je vodič za FileCopy u VBA. Ovdje smo razgovarali o tome kako kopirati Excel datoteku pomoću VBA koda zajedno s praktičnim primjerima i download-ovim Excel predloška. Možete i pregledati naše druge predložene članke -
- Rad s VBA Active Cell
- Brisanje retka u VBA
- Kako se koristi Excel VBA Transpose?
- Kako popraviti pogrešku 1004 pomoću VBA