Kopiowanie pliku VBA

Funkcja Excel VBA FileCopy

Kopiowanie pliku to wbudowana funkcja vba używana do kopiowania pliku z jednej lokalizacji do innej wymienionej lokalizacji. Aby skorzystać z tej funkcji, musimy podać bieżącą ścieżkę do pliku i ścieżkę do pliku docelowego.

Ok, spójrzmy na składnię funkcji FileCopy.

  • Źródło: to nic innego, jak tylko miejsce, z którego musimy skopiować plik. Musimy wspomnieć o pełnej ścieżce folderu.
  • Miejsce docelowe: jest to folder docelowy, w którym musimy wkleić skopiowany plik.

Przykłady

Poniżej znajdują się przykłady kopiowania plików za pomocą kodu VBA.

Możesz pobrać ten szablon programu Excel do kopiowania plików VBA tutaj - szablon programu Excel do kopiowania plików VBA

Przykład 1

Zacznijmy od prostego przykładu. Mam w folderze plik o nazwie „Sprzedaż kwiecień 2019”. Poniżej znajduje się obraz tego samego tj. „ Źródła ”.

Z powyższej lokalizacji chcę skopiować ten plik i wkleić do innego folderu. Poniżej znajduje się obraz tego samego, tj. „ Źródła docelowego”.

Ok, napiszmy do tego kod.

Otwórz funkcję FileCopy w procedurze Sub.

Kod:

 PodplikCopy_Example1 ()

FileCopy

Napis końcowy

Teraz jako pierwszy argument musimy wspomnieć o ścieżce do pliku, w którym znajduje się nasz prąd.

Kod:

 PodplikCopy_Example1 ()

FileCopy “D: \ My Files \ VBA \ April Files

Napis końcowy

Po podaniu ścieżki do folderu musimy również wspomnieć o pliku z rozszerzeniem. Wymień więc nazwę pliku, umieszczając ukośnik odwrotny (\).

Kod:

 Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx", End Sub 

Teraz w drugim argumencie wspomnij, gdzie musimy wkleić skopiowany plik.

Kod:

 Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx", "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx" End Sub 

Jedną rzeczą, którą musimy zrobić, jest to, że wspominając o ścieżce folderu na końcu, musimy również podać nazwę pliku w argumencie docelowym.

Teraz uruchom kod za pomocą klawisza F5 lub ręcznie, a następnie skopiuje plik z poniższej lokalizacji do lokalizacji docelowej.

„D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx”

„D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx”

Przykład nr 2 - Użyj zmiennych do przechowywania ścieżki źródłowej i ścieżki docelowej.

W poprzednim przykładzie podaliśmy ścieżkę źródłową i ścieżkę docelową bezpośrednio do formuły. Ale to nie jest najlepsza praktyka, aby kontynuować, więc zapiszmy je w zmiennych.

Na przykład spójrz na poniższy kod.

Kod:

 Sub FileCopy_Example2 () Dim SourcePath As String Dim DestinationPath As String SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx" DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales kwiecień 2019 r. xlsx "FileCopy SourcePath, DestinationPath End Sub 

Pozwól, że wyjaśnię ci szczegółowo kod.

Najpierw zadeklarowałem dwie zmienne.

 Dim SourcePath As String Dim DestinationPath As String 

Następnie dla pierwszej zmiennej przypisałem ścieżkę do folderu, z którego ma skopiować plik i nazwę pliku wraz z jego rozszerzeniem.

SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx"

W przypadku drugiej zmiennej podobnie, przypisałem ścieżkę folderu docelowego z nazwą pliku i rozszerzeniem programu Excel.

DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales kwiecień 2019.xlsx"

Następnie dla formuły FileCopy podałem te zmienne zamiast długich ciągów ścieżek folderów.

FileCopy SourcePath, DestinationPath

W ten sposób możemy używać zmiennych do przechowywania ścieżek i efektywnego ich używania.

Przykład # 3 - Błąd funkcji kopiowania plików

Czasami funkcja kopiowania plików napotyka błąd „Odmowa uprawnień”.

Powód, dla którego otrzymujemy ten błąd, ponieważ gdy kopiowany plik jest otwierany i jeśli spróbujesz skopiować powyższy błąd, zawsze zamknij plik i wykonaj kod.