Zum Hauptinhalt springen

Excel-vba-Ordner verschieben: Grundlegende Methoden und Beispielcode

Das Verschieben eines Ordners ist eine wichtige Aufgabe bei der Arbeit mit dem Dateisystem. In Excel VBA gibt es verschiedene Methoden, mit denen Sie einen Ordner von einem Ort zum anderen verschieben können.

Die Hauptmethode zum Verschieben eines Ordners in Excel VBA ist die Methode MoveFolder. Mit dieser Methode können Sie einen Ordner innerhalb des Dateisystems von einem Speicherort zu einem anderen verschieben. Die Methode verwendet als Parameter den Pfad zu dem zu verschiebenden Ordner und den Pfad zum neuen Speicherort.

Sub MoveFolderExample()

Dim sourcePath As String

Dim destinationPath As String

sourcePath = "C:\SourceFolder"

destinationPath = "C:\DestinationFolder"

Name sourcePath As destinationPath

End Sub

In diesem Beispiel wird die Methode Name wird zum Verschieben eines Ordners verwendet. Variablenwerte sourcePath und destinationPath geben Sie jeweils den ursprünglichen bzw. neuen Speicherort des Ordners an.

Wenn Sie mit dem Verschieben von Ordnern in VBA Excel arbeiten, müssen Sie die Besonderheiten der Arbeit mit dem Dateisystem des Betriebssystems berücksichtigen, auf dem das Programm ausgeführt wird.

Grundlegende Methoden zum Verschieben eines Ordners in Excel VBA

Es gibt mehrere Methoden zum Verschieben von Ordnern in VBA Excel. Betrachten Sie die wichtigsten von ihnen:

1. Move-Methode

Mit der Move-Methode können Sie einen Ordner von einem Ort zum anderen verschieben. Die Syntax dieser Methode lautet wie folgt:

  • object - eine Variable, die einen Verweis auf das zu verschiebende Ordnerobjekt enthält;
  • destination - eine Variable, die den Pfad zum neuen Speicherort des Ordners enthält.

Beispiel für die Verwendung der Move-Methode:

Sub MoveFolderExample() Dim sourceFolder As Object Dim destinationFolder As String ' Geben Sie den Pfad zum Quellordner an Set sourceFolder = CreateObject("Scripting.FileSystemObject").GetFolder("С:\Исходная Ordner") ' Geben Sie den Pfad an den Ort an, an den Sie den Ordner verschieben möchten destinationFolder = "С:\Новое Speicherort" ' Wir verschieben den Ordner "sourceFolder".Move destinationFolder MsgBox "Der Ordner wurde erfolgreich verschoben!" End Sub

2. Copy-Methode und Delete-Methode

Mit der Copy-Methode können Sie einen Ordner kopieren, mit der Delete-Methode wird der Ordner nach dem Kopieren gelöscht. Syntax der Copy-Methode:

Syntax der Delete-Methode:

  • object - variable, die einen Verweis auf das Ordnerobjekt enthält;
  • destination - eine Variable, die nach dem Kopieren den Pfad zum neuen Speicherort des Ordners enthält.

Beispiel für die Verwendung von Copy und Delete:

Sub CopyAndDeleteFolderExample() Dim sourceFolder As Object Dim destinationFolder As String ' Geben Sie den Pfad zum Quellordner an Set sourceFolder = CreateObject("Scripting.FileSystemObject").GetFolder("С:\Исходная Ordner") ' Geben Sie den Pfad an den Ort an, an den Sie den Ordner kopieren möchten destinationFolder = "С:\Новая Ordner" ' Wir kopieren den Ordner "sourceFolder".Copy destinationFolder ' Lösche den Quellordner von sourceFolder.Delete MsgBox "Der Ordner wurde erfolgreich kopiert und gelöscht!" End Sub

3. Die CopyFolder-Methode und die DeleteFolder-Methode

Die CopyFolder-Methode und die DeleteFolder-Methode sind vereinfachte Alternativen zu Copy bzw. Delete. Sie haben die folgende Syntax:

object.CopyFolder source, destination

  • object - eine Variable, die einen Verweis auf ein FileSystemObject enthält;
  • source - variable, die den Pfad zum Quellordner enthält (für die CopyFolder-Methode);
  • destination - variable, die den Pfad zum neuen Speicherort des Ordners nach dem Kopieren enthält (für die CopyFolder-Methode);
  • folder - eine Variable, die den Pfad des zu löschenden Ordners enthält (für die DeleteFolder-Methode).

Beispiel für die Verwendung der Methoden CopyFolder und DeleteFolder:

Sub CopyAndDeleteFolderExample2() Dim fso As Object Dim sourceFolder As String Dim destinationFolder As String ' Erstellen Sie ein FileSystemObject-Objekt Set fso = CreateObject("Scripting.FileSystemObject") ' Geben Sie den Pfad zum Quellordner an sourceFolder = "C:\Quellordner" ' Geben Sie den Pfad an den Ort an, an den Sie den Ordner kopieren möchten destinationFolder = "С:\Новая Ordner" ' Wir kopieren den fso-Ordner.CopyFolder sourceFolder, destinationFolder ' Lösche den fso-Quellordner.DeleteFolder sourceFolder MsgBox "Der Ordner wurde erfolgreich kopiert und gelöscht!" ' Ressourcen freigeben Set fso = Nothing End Sub

Als Ergebnis dieser Methoden können Sie Ordner mithilfe mehrerer Codezeilen in Excel in VBA verschieben oder kopieren. Dies ist sehr praktisch und effektiv bei der Automatisierung von Datei- und Ordnerprozessen.

Methode 1: Verwenden der Move-Methode

In VBA Excel können Sie Ordner mithilfe der Move-Methode des FileSystemObject-Objekts verschieben.

Um diese Methode zu verwenden, müssen Sie die folgenden Schritte ausführen:

    Erstellen eines FileSystemObject-Objekts mithilfe des Schlüsselworts "CreateObject":

Dim fsObj As ObjectSet fsObj = CreateObject("Scripting.FileSystemObject")
fsObj.MoveFolder "Путь к исходной папке", "Путь к папке-назначению"

Hier ist "Pfad zum Quellordner" der Pfad des Ordners, den Sie verschieben möchten, und "Pfad zum Zielordner" ist der Pfad des Ordners, in den Sie den Ordner verschieben möchten.

Zum Beispiel, um einen Ordner zu verschieben "С:\Исходная ordner" zu Ordner "D:\Папка-назначение ". Sie können den folgenden Code verwenden:

fsObj.MoveFolder "C:\Исходная папка", "D:\Папка-назначение"

Beachten Sie, dass, wenn kein Pfad zum Zielordner vorhanden ist, eine "Path/File access error" -Ausnahme ausgelöst wird. Daher müssen Sie vor dem Ausführen des Verschiebungsvorgangs sicherstellen, dass der Pfad zum Zielordner vorhanden ist.