Excel VBA FileCopy

Istnieje wiele sposobów kopiowania lub przenoszenia pliku z jednego folderu do drugiego. Możemy to zrobić ręcznie, kopiując i wycinając ikonę pliku i wklejając ją do folderu docelowego. Ale jeśli chodzi o automatyzację tego procesu kopiowania pliku, możemy to zrobić również w VBA. Aby skopiować plik, w VBA dostępna jest funkcja o tej samej nazwie „Kopiowanie pliku”.

Składnia FileCopy w Excel VBA

Kopiowanie plików w VBA jest bardzo łatwe. Składnia kopiowania plików jest pokazana poniżej.

Plik Kopiuj ma tylko dwa składniki do podania. Które są:

  • Źródło - w tym miejscu umieścimy lokalizację źródłową, z której musimy skopiować plik.
  • Miejsce docelowe - i będzie to folder docelowy, w którym będziemy wklejać skopiowany plik.

Pełna składnia będzie w typie danych String. Ponieważ będziemy używać ścieżki do pliku, który będzie jako tekst.

Jak skopiować plik w programie Excel VBA?

Teraz wypróbujmy kilka przykładów kopiowania plików VBA w programie Excel.

Możesz pobrać ten VBA Skopiuj szablon pliku Excel tutaj - VBA Skopiuj szablon pliku Excel

Przykład # 1 - FileCopy w VBA

W pierwszym przykładzie zobaczymy, jak skopiować plik z lokalizacji źródłowej i wkleić go w lokalizacji docelowej w bardzo prosty sposób.

W tym celu potrzebujemy pliku dowolnego rodzaju lub rozszerzenia. Rozważamy tutaj plik Excel z rozszerzeniem xlsx . Jak widzimy, umieściliśmy ten plik programu Excel w łatwo dostępnej lokalizacji o nazwie Test .

Teraz skopiujemy ten plik za pomocą FileCopy do poniższego folderu docelowego.

Krok 1: W tym celu przejdź do VBA i otwórz menu rozwijane Moduł z menu Wstaw, jak pokazano poniżej.

Krok 2: Teraz w otwartym module napisz podkategorię VBA FileCopy lub dowolną inną nazwę według własnego wyboru.

Kod:

 Sub VBA_Copy1 () End Sub 

Krok 3: Teraz bezpośrednio otwórz funkcję FileCopy, jak pokazano poniżej.

Kod:

 Sub VBA_Copy1 () FileCopy (End Sub 

Krok 4: Teraz w cudzysłowie wpisz adres lokalizacji źródłowej, a następnie nazwę pliku i rozszerzenie, jak pokazano poniżej.

Kod:

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

Krok 5: W lokalizacji docelowej ponownie umieść ścieżkę w odwróconych przecinkach, a następnie plik i rozszerzenie.

Kod:

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

Krok 6: Teraz skompiluj kod i uruchom go, klikając przycisk Odtwórz, który znajduje się pod paskiem menu. Zobaczymy, plik programu Excel o nazwie Test jest teraz kopiowany z lokalizacji źródłowej do lokalizacji docelowej, jak pokazano poniżej. Ponieważ w pliku nie było nic, rozmiar pliku wynosi 0 KB .

Przykład # 2 - FileCopy w VBA

W innym przykładzie zobaczymy, jak skopiować plik z lokalizacji źródłowej do miejsca docelowego, definiując zmienną. Ten proces jest trochę długi, ale bardziej niezawodny, ponieważ będziemy ustalać parametry i zmienne.

Krok 1: Teraz najpierw otwórz nowy moduł i napisz podkategorię Kopiowanie pliku VBA, jak pokazano poniżej.

Kod:

 Sub VBA_Copy2 () End Sub 

Krok 2: Najpierw zdefiniuj zmienną, w której umieścimy lokalizację źródłową pliku tego samego pliku programu Excel, którego użyliśmy w przykładzie 1 jako String.

Kod:

 Sub VBA_Copy2 () Dim FirstLocation As String End Sub 

Krok 3: W podobny sposób będziemy potrzebować innej zmiennej dla lokalizacji docelowej.

Kod:

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

Krok 4: Teraz umieść lokalizację w pierwszej zdefiniowanej zmiennej, którą jest „ FirstLocation ” wraz z nazwą pliku i jego rozszerzeniem.

Kod:

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

Krok 5: W podobny sposób zrób to samo dla miejsca docelowego, używając zmiennej „ SecondLocation”, którą zdefiniowaliśmy powyżej.

Kod:

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

Krok 6: Teraz nadszedł czas na użycie funkcji FileCopy .

Kod:

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

Zgodnie ze składnią FileCopy najpierw musimy podać lokalizację źródłową, w której przechowujemy plik. Ale jak już zdefiniowaliśmy foldery lokalizacji źródłowej i docelowej powyżej dla obu zmiennych.

Krok 7: Więc tutaj możemy bezpośrednio wybrać te zmienne. Najpierw wybierz zmienną lokalizacji źródłowej, którą jest FirstLocation .

Kod:

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

Krok 8: Ponownie w podobny sposób wybierz zmienną lokalizacji docelowej, którą jest SecondLocation, jak pokazano poniżej.

Kod:

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

Krok 9: Po zakończeniu skompilujemy kod, naciskając klawisz funkcyjny F8. A jeśli nie zostanie znaleziony błąd, uruchom kod. Zobaczymy, że plik z lokalizacji źródłowej jest kopiowany i wklejany do folderu docelowego, jak pokazano poniżej.

Możemy wypróbować również inną ścieżkę lokalizacji. Do testu rozważmy inną lokalizację źródłową, w której będziemy mieć plik słowny.

Jak widzimy, plik nie zawiera żadnych danych, więc rozmiar ponownie pokazuje się jako 0 KB.

Folderem docelowym będzie folder lokalizacji wyjściowej, który znajduje się w folderze lokalizacji wejściowej. Jeśli widzimy wewnątrz pliku, nie ma dostępnych danych.

Teraz zastąpimy źródło i miejsce docelowe odpowiednio zmiennymi FirstLocation i Second Location, po których następuje nazwa pliku i jego rozszerzenie.

Kod:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String 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 

Teraz uruchom kod.

Zobaczymy, że plik słowa testowego jest teraz kopiowany z folderu Położenie wejściowe do folderu Miejsce wyjściowe o tym samym rozmiarze, który wynosi 0 KB.

Zalety FileCopy w VBA

  • Można go użyć do skopiowania więcej niż 1 pliku w jednym ujęciu.
  • 10 plików zajmuje podobną ilość czasu, co kopiowanie jednego pliku.
  • Możemy użyć dowolnego typu pliku rozszerzenia, który chcemy skopiować.

Rzeczy do zapamiętania

  • Zawsze umieszczaj nazwę pliku i jego rozszerzenie na końcu nazwy lokalizacji.
  • Podaj linki miejsca docelowego i lokalizacji źródłowej w odwrócone przecinki.
  • Po zakończeniu zapisz kod w Makrze, aby program Excel mógł używać i zachować kod do przyszłego użytku.
  • Zawsze udzielaj pozwolenia na kod, aby mógł skopiować plik z lokalizacji źródłowej i wkleić go w lokalizacji docelowej.

Polecane artykuły

To jest przewodnik po FileCopy w VBA. Tutaj omawiamy, jak skopiować plik Excel za pomocą kodu VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Praca z VBA Active Cell
  2. Usuwanie wiersza w VBA
  3. Jak korzystać z transpozycji Excel VBA?
  4. Jak naprawić błąd 1004 przy użyciu VBA

Kategoria: