Proszę spróbować w ten sposób.
Skopiuj lub przenieś jeden plik
Dla jednego pliku możesz użyć funkcji VBA Name i FileCopy, a dla całych folderów lub wielu plików użyj innych przykładów makr na tej stronie.
Sub Copy_One_File()
FileCopy "C:\Users\Ron\SourceFolder\Test.xls", "C:\Users\Ron\DestFolder\Test.xls"
End Sub
Sub Move_Rename_One_File()
'Możesz zmienić ścieżkę i nazwę pliku
Nazwij „C:\Users\Ron\SourceFolder\Test.xls” jako „C:\Users\Ron\DestFolder\TestNew.xls”
End Sub
Skopiuj lub przenieś więcej plików lub całych folderów
Uwaga: Przeczytaj skomentowane linie kodu w kodzie
Podrzędny folder_kopii()
„Ten przykład kopiuje wszystkie pliki i podfoldery z FromPath do ToPath.
„Uwaga: jeśli ToPath już istnieje, zastąpi istniejące pliki w tym folderze
„jeśli ToPath nie istnieje, zostanie stworzony dla Ciebie.
Przyciemnij FSO jako obiekt
Dim FromPath jako ciąg
Przyciemnij ToPath jako ciąg
FromPath = "C:\Users\Ron\Data" '<< Zmień
ToPath = "C:\Users\Ron\Test" '<< Zmień
„Jeśli chcesz tworzyć kopię zapasową folderu za każdym razem, gdy uruchamiasz to makro
„możesz utworzyć unikalny folder ze znacznikiem daty/godziny.
'ToPath = "C:\Users\Ron\" & Formatuj (teraz, "rrrr-mm-dd h-mm-ss")
If Right(FromPath, 1) = "\" Wtedy
Od Ścieżki = Lewo(Od Ścieżki, Dł.(Od Ścieżki) - 1)
End If
If Right(ToPath, 1) = "\" Wtedy
DoŚcieżki = W lewo(DoŚcieżki, Dł(DoŚcieżki) - 1)
End If
Ustaw FSO = CreateObject("scripting.filesystemobject")
Jeśli FSO.FolderExists(FromPath) = False To wtedy
MsgBox FromPath & „nie istnieje”
Exit Sub
End If
FSO.CopyFolder Źródło:=OdŚcieżki, Miejsce docelowe:=DoŚcieżki
MsgBox "Możesz znaleźć pliki i podfoldery z " & FromPath & " w " & ToPath
End Sub