Verschieben von Dateien mit VBA FileSystemObject (MoveFile)

In diesem Tutorial wird gezeigt, wie Sie die MoveFile-Methode des FileSystemObject verwenden.

Verschieben von Dateien mit VBA FileSystemObject

Die MoveFile-Methode verschiebt eine oder mehrere Dateien von einem Speicherort an einen anderen.

VBA-Referenz festlegen

Wenn Sie FileSystemObjects verwenden, müssen Sie möglicherweise zunächst eine Referenz auf die VB-Skript-Laufzeitbibliothek setzen: Öffnen Sie den Visual Basic-Editor (ALT+F11), wählen Sie Tools > References aus dem Dropdown-Menü und aktivieren Sie das Kontrollkästchen von 'Microsoft Scripting-Laufzeit'.

FileSystemObject

Zweitens müssen Sie das FileSystemObject erstellen:

12 Dim FSO als neues FileSystemObjectFSO setzen = CreateObject("Scripting.FileSystemObject")

Jetzt haben Sie Zugriff auf MoveFile und die anderen FileSystemObject-Methoden.

VBA-Programmierung | Code Generator arbeitet für Sie!

Eine Datei verschieben

Um eine einzelne Datei zu verschieben, können Sie die einfache Syntax von FSO.MoveFile( source, destination ) verwenden.

1 FSO.MoveFile "C:\Src\TestFile.txt", "C:\Dst\ModTestFile.txt"

Wie oben erwähnt, müssen Sie zuerst das FileSystemObject erstellen:

1234567 Unter FSOMoveFile()Dim FSO als neues FileSystemObjectFSO setzen = CreateObject("Scripting.FileSystemObject")FSO.MoveFile "C:\Src\TestFile.txt", "C:\Dst\ModTestFile.txt"End Sub

Mehrere Dateien verschieben

Sie können mehrere Dateien mit gleichen Namensteilen verschieben:

1 FSO.MoveFile "C:\Src\TestFile*.txt", "C:\Dst\"

Oder Sie können mehrere Dateien mit derselben Erweiterung verschieben:

1 FSO.MoveFile "C:\Src\ *.xlsx", "C:\Dst\"

Oder einfach alle Dateien aus einem Ordner:

1 FSO.MoveFile "C:\Src\*", "C:\Dst\"

Beachten Sie, dass wir hier das Wildcard-Zeichen * verwenden.

Anstatt den Platzhalter * zu verwenden, können Sie alle Dateien in einem Ordner mit einer For Each-Schleife verschieben.

12345678910111213141516 Unter FSOMoveAllFiles ()Dim FSO als neues FileSystemObjectDim FromPath As StringDim ToPath als StringDim FileInFromFolder als ObjektFromPath = "C:\Src\"ToPath = "C:\Dst\"FSO setzen = CreateObject("Scripting.FileSystemObject")Für jeden FileInFromFolder in FSO.GetFolder(FromPath).FilesFileInFromFolder.Move ToPathNächstes FileInFromFolderEnd Sub

Datei in einen neuen Ordner verschieben

Sie können die Datei(en) auch in einen neu erstellten Ordner verschieben. Fügen Sie dazu den Befehl hinzu

1 MkDir "C:\Dst\"

bevor Sie den Zielpfad angeben.

1234567891011121314151617 Unter FSOMoveAllFiles ()Dim FSO als neues FileSystemObjectDim FromPath As StringDim ToPath als StringFileInFromFolder als Objekt dimmenFromPath = "C:\Src\"MkDir "C:\Dst\"ToPath = "C:\Dst\"FSO setzen = CreateObject("Scripting.FileSystemObject")Für jeden FileInFromFolder in FSO.GetFolder(FromPath).FilesFileInFromFolder.Move ToPathNächstes FileInFromFolderEnd Sub

Sind Sie es leid, nach VBA-Codebeispielen zu suchen? Probieren Sie AutoMacro aus!

Ordner verschieben

Sie können die analoge Methode MoveFolder zum Verschieben von Ordnern verwenden.

1234567 Unter FSOMoveFolder()Dim FSO als neues FileSystemObjectFSO setzen = CreateObject("Scripting.FileSystemObject")FSO.MoveFolder "C:\OldFolder", "C:\Dst\NewFolder"End Sub

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave