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 ExcelPrzykł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 -
- Praca z VBA Active Cell
- Usuwanie wiersza w VBA
- Jak korzystać z transpozycji Excel VBA?
- Jak naprawić błąd 1004 przy użyciu VBA