Excel VBA FileCopy

Existuje mnoho způsobů, jak zkopírovat nebo přesunout soubor z jedné složky do druhé. Můžeme to udělat ručně z Kopírování a řezání ikony souboru a vkládání do cílové složky. Ale pokud jde o automatizaci tohoto procesu kopírování souboru, můžeme to udělat také ve VBA. Pro zkopírování souboru máme k dispozici funkci ve VBA pojmenovanou jako „Kopie souboru“.

Syntaxe FileCopy v Excelu VBA

Je velmi snadné použít kopírování souborů ve VBA. Syntaxe kopírování souborů je uvedena níže.

Kopírování souborů obsahuje pouze dvě komponenty. Což jsou:

  • Zdroj - Zde umístíme umístění zdroje, odkud potřebujeme soubor zkopírovat.
  • Cíl - A to bude cílová složka, kam vložíme zkopírovaný soubor.

Úplná syntaxe bude v datovém typu String. Protože budeme používat cestu k souboru, která bude jako text.

Jak zkopírovat soubor v Excel VBA?

Nyní vyzkoušejte některé příklady kopírování souborů VBA v Excelu.

Tuto VBA kopii šablony souboru Excel si můžete stáhnout zde - VBA kopii šablony Excel souboru

Příklad č. 1 - FileCopy In VBA

V prvním příkladu uvidíme, jak zkopírovat soubor ze zdrojového umístění a vložit jej do cílového umístění velmi jednoduchým způsobem.

K tomu potřebujeme soubor jakéhokoli druhu nebo přípony. Zde uvažujeme o souboru Excel s příponou xlsx . Jak vidíme, umístili jsme tento vynikající soubor do umístění, které je snadno přístupné, nazvané Test .

Nyní zkopírujeme tento soubor pomocí FileCopy do níže uvedené cílové složky.

Krok 1: Za tímto účelem přejděte do VBA a otevřete rozbalovací nabídku Modul z nabídky Vložit, jak je ukázáno níže.

Krok 2: Nyní do otevřeného modulu napište podkategorii VBA FileCopy nebo jakéhokoli jiného názvu podle vašeho výběru.

Kód:

 Sub VBA_Copy1 () End Sub 

Krok 3: Nyní přímo otevřete funkci FileCopy, jak je ukázáno níže.

Kód:

 Sub VBA_Copy1 () FileCopy (End Sub 

Krok 4: Nyní do uvozovek napište adresu zdrojového umístění následovanou názvem souboru a příponou, jak je uvedeno níže.

Kód:

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

Krok 5: Do cílového umístění znovu vložte cestu do převrácených čárek následovaných souborem a příponou.

Kód:

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

Krok 6: Nyní zkompilujte kód a spusťte jej kliknutím na tlačítko Přehrát, které se nachází pod lištou nabídky. Uvidíme, že soubor Excel s názvem Test je nyní zkopírován ze zdrojového do cílového umístění, jak je ukázáno níže. Protože v souboru nebylo nic, velikost souboru se tedy blíží 0 KB .

Příklad č. 2 - FileCopy In VBA

V dalším příkladu uvidíme, jak zkopírovat soubor ze zdrojového umístění do cíle definováním proměnné. Tento proces je trochu zdlouhavý, ale spolehlivější, protože stanovíme parametry a proměnné.

Krok 1: Nyní nejprve otevřete nový modul a zapište podkategorii VBA File Copy, jak je ukázáno níže.

Kód:

 Sub VBA_Copy2 () End Sub 

Krok 2: Nejprve definujte proměnnou, do které umístíme zdrojové umístění souboru stejný excel soubor, který jsme použili v příkladu 1 jako String.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation jako String End Sub 

Krok 3: Podobným způsobem budeme potřebovat další proměnnou pro cílové umístění.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation jako String Dim SecondLocation jako String End Sub 

Krok 4: Nyní vložte umístění do první definované proměnné, která je „ FirstLocation “, spolu s názvem souboru a jeho příponou.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation jako řetězec Dim SecondLocation jako řetězec FirstLocation = "D: \ Test1 \ Hello.xlsx" End Sub 

Krok 5: Stejným způsobem proveďte totéž pro Cílové umístění pomocí proměnné „ SecondLocation“, kterou jsme definovali výše.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation jako řetězec Dim SecondLocation jako řetězec FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" End Sub 

Krok 6: Nyní je čas použít funkci FileCopy .

Kód:

 Sub VBA_Copy2 () Dim FirstLocation jako řetězec Dim SecondLocation jako řetězec FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy End Sub 

Podle syntaxe FileCopy nejprve musíme umístit zdrojové umístění, kam jsme soubor uchovali. Ale jak jsme již definovali zdrojové a cílové složky umístění výše pro obě proměnné.

Krok 7: Takže zde můžeme tyto proměnné vybrat přímo. Nejprve vyberte zdrojovou proměnnou umístění, kterou je FirstLocation .

Kód:

 Sub VBA_Copy2 () Dim FirstLocation jako řetězec Dim SecondLocation jako řetězec FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy FirstLocation End Sub 

Krok 8: Znovu stejným způsobem vyberte cílovou proměnnou umístění, což je SecondLocation, jak je ukázáno níže.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation jako řetězec Dim SecondLocation jako řetězec FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB File \ April Files \ Hello.xlsx" FileCopy FirstLocation, SecondLocation End Sub 

Krok 9: Jakmile to uděláme, sestavíme kód stisknutím funkční klávesy F8. A pokud není nalezena žádná chyba, spusťte kód. Uvidíme, soubor ze zdrojového umístění je zkopírován a vložen do cílové složky, jak je ukázáno níže.

Můžeme také vyzkoušet jinou cestu umístění. Pro test se podívejme na jiné zdrojové umístění, kde budeme mít textový soubor.

Jak vidíme, soubor nemá žádná data, takže se velikost opět zobrazuje jako 0 KB.

A cílová složka bude složka Output Location, která je ve složce Input Location. Pokud uvidíme uvnitř souboru, nejsou k dispozici žádná data.

Nyní nahradíme zdroj a cíl v proměnných FirstLocation a Second Location, následované názvem souboru a jeho příponou.

Kód:

 Sub VBA_Copy2 () Dim FirstLocation jako řetězec Dim SecondLocation jako řetězec FirstLocation = "D: \ VPB File \ April Files \ New Excel \ Test Case.docx" SecondLocation = "D: \ VPB File \ April Files \ Final location \ Test Case. docx "FileCopy FirstLocation, SecondLocation End Sub 

Nyní spusťte kód.

Uvidíme, že soubor testovacího slova je nyní zkopírován ze složky Vstupní umístění do složky Výstupní umístění se stejnou velikostí, která je 0 KB.

Výhody FileCopy ve VBA

  • Může být použit pro kopírování více než 1 souboru na jeden snímek.
  • Trvá to stejné množství času pro 10 souborů jako pro kopírování jednoho souboru.
  • Můžeme použít jakýkoli typ souboru rozšíření, který chceme zkopírovat.

Co si pamatovat

  • Název souboru a jeho příponu vždy vložte na konec názvu umístění.
  • Uveďte odkazy na cílové a zdrojové umístění do invertovaných čárek.
  • Jakmile je hotovo, uložte kód v Makru, aby aplikace Excel mohla používat a uchovávat kód pro budoucí účely.
  • Vždy udělte oprávnění ke kódu, aby mohl soubor zkopírovat ze zdrojového umístění a vložit jej do cílového umístění.

Doporučené články

Toto je průvodce FileCopy ve VBA. Zde diskutujeme o tom, jak zkopírovat soubor Excel pomocí kódu VBA spolu s praktickými příklady a šablonou Excel ke stažení. Můžete si také prohlédnout naše další doporučené články -

  1. Práce s aktivní buňkou VBA
  2. Odstranění řádku ve VBA
  3. Jak používat Excel VBA Transpose?
  4. Jak opravit chybu 1004 pomocí VBA

Kategorie: