Zum Hauptinhalt springen

VBA Excel: Kopieren einer Datei - Grundlagen und Anweisungen

Eine der grundlegenden Aufgaben, mit denen Benutzer von Microsoft Excel konfrontiert sind, ist das Kopieren von Dateien. Das Kopieren einer Datei kann in vielen Fällen nützlich sein, z. B. wenn Sie eine Sicherungskopie der Daten erstellen oder die Datei an einen anderen Benutzer übertragen möchten. Die VBA-Programmiersprache (Visual Basic for Applications) von Excel bietet spezielle Anweisungen zum Kopieren von Dateien, mit denen Sie diesen Prozess automatisieren können.

Das Grundprinzip des Kopierens einer Datei in Excel VBA besteht darin, die Methode zu verwenden CopyFile. Mit dieser Methode können Sie die ausgewählte Datei an einen bestimmten Speicherort kopieren. Um die Methode zu verwenden, müssen Sie den Pfad zur Quelldatei und den Pfad zur Zieldatei angeben. Sie können auch einen neuen Dateinamen angeben, wenn Sie die Datei unter einem anderen Namen speichern möchten. Wenn eine Datei mit diesem Namen bereits am angegebenen Speicherort vorhanden ist, kann die Methode sie durch eine neue Datei ersetzen oder den Kopiervorgang abbrechen.

Um mit Dateien in VBA Excel zu arbeiten, müssen Sie die richtigen Dateipfade angeben. Je nach Betriebssystem, auf dem das Programm ausgeführt wird, ist es wichtig, die Trennzeichen im Dateipfad (Backslash oder Schrägstrich) zu berücksichtigen. Beachten Sie auch, dass der Dateipfad Leerzeichen oder Sonderzeichen enthalten kann, die beim Schreiben von Code maskiert werden müssen. Daher müssen Sie beim Kopieren einer Datei vorsichtig sein, wenn Sie die Dateipfade angeben und die korrekte Schreibweise überprüfen.

Es ist wichtig zu beachten, dass für die Verwendung der Methode CopyFile sie müssen die Bibliothek verbinden Microsoft Scripting Runtime. Gehen Sie dazu im VBA-Editor zum Menü "Extras" - "Links" (klicken Sie auf den Rechtspfeil) und setzen Sie das Häkchen neben "Microsoft Scripting Runtime". Nachdem Sie die Bibliothek angeschlossen haben, können Sie die Methode zum Kopieren von Dateien verwenden.

Grundlagen zum Kopieren einer Datei in VBA Excel

1. Ermitteln des Pfads und des Dateinamens:

Der erste Schritt beim Kopieren einer Datei in VBA Excel besteht darin, den Pfad und den Namen der Datei zu bestimmen, die wir kopieren möchten. Wir können den vollständigen Dateipfad manuell angeben oder eine Variable verwenden, die den Pfad und den Dateinamen enthält.

2. Erstellen eines FileSystemObject-Objekts:

Um mit Dateien in VBA Excel zu arbeiten, verwenden wir ein FileSystemObject aus der Microsoft Scripting Runtime-Bibliothek. Sie müssen zuerst einen Verweis auf diese Bibliothek hinzufügen (Tools → References → Microsoft Scripting Runtime).

3. Prüfen, ob eine Datei vorhanden ist:

Beim Kopieren einer Datei ist es wichtig zu überprüfen, ob eine solche Datei auf der Festplatte vorhanden ist. Wir können die FileExists-Methode des FileSystemObject-Objekts zu diesem Zweck verwenden. Wenn die Datei vorhanden ist, fahren Sie mit dem nächsten Schritt fort. Wenn keine Datei vorhanden ist, können Sie eine Fehlermeldung anzeigen oder andere Aktionen nach Ihrem Ermessen ausführen.

4. Kopieren einer Datei:

Verwenden Sie die CopyFile-Methode des FileSystemObject-Objekts, um eine Datei zu kopieren. Wir geben den Pfad und den Namen der Quelldatei sowie den Pfad und den Namen der Datei an, in die wir kopieren möchten. Wenn wir eine bereits vorhandene Datei überschreiben müssen, übergeben wir den Parameter True an die CopyFile-Methode.

5. Vorgang abschließen:

Nach dem Kopieren der Datei ist es wichtig zu überprüfen, ob der Vorgang erfolgreich abgeschlossen wurde. Wir können die FileExists-Methode des FileSystemObject-Objekts verwenden, um zu überprüfen, ob eine kopierte Datei vorhanden ist.

Fertig! Jetzt sind Sie mit den grundlegenden Prinzipien des Kopierens einer Datei in VBA Excel vertraut. Verwenden Sie diese Anweisungen, um Ihre Makros zu erstellen, die den Prozess des Kopierens von Dateien auf Ihrem Computer automatisieren.

Anweisungen zum Kopieren einer Datei in VBA Excel

1. Verwenden der FileCopy-Methode :

Mit der FileCopy-Methode können Sie eine Datei von einem Speicherort an einen anderen kopieren. Die Syntax dieser Methode lautet wie folgt:

FileCopy "Исходный_путь\имя_файла", "Новый_путь\имя_файла"

Um beispielsweise eine Datei mit dem Namen "example" zu kopieren.xlsx" aus dem Ordner "Quellordner" in den Ordner "Neuer Ordner" muss der folgende Code verwendet werden:

FileCopy "C:\Исходная_папка\example.xlsx", "C:\Новая_папка\example.xlsx"

2. Verwenden der FileSystemObject-Methode :

Anstelle der FileCopy-Methode können Sie ein FileSystemObject zum Kopieren der Datei verwenden. Dazu müssen Sie zuerst ein FileSystemObject erstellen und dann die CopyFile-Methode ausführen. Die Syntax dieser Methode lautet wie folgt:

FileSystemObject.CopyFile "Исходный_путь\имя_файла", "Новый_путь\имя_файла"

Um beispielsweise eine Datei mit dem Namen "example" zu kopieren.xlsx" aus dem Ordner "Quellordner" in den Ordner "Neuer Ordner" muss der folgende Code verwendet werden:

Dim FSO As ObjectSet FSO = CreateObject("Scripting.FileSystemObject")FSO.CopyFile "C:\Исходная_папка\example.xlsx", "C:\Новая_папка\example.xlsx"

3. Verwenden der Copy-Methode eines Workbook-Objekts :

Wenn es sich bei der zu kopierenden Datei um eine Excel-Arbeitsmappe handelt, können Sie die Copy-Methode des Workbook-Objekts verwenden. Diese Methode erstellt eine Kopie der Arbeitsmappe, die an einem anderen Speicherort gespeichert werden kann. Die Syntax dieser Methode lautet wie folgt:

Workbook.Copy "Путь_к_файлу"

Zum Beispiel, um die Arbeitsmappe "example.xlsx" und speichern Sie es im Ordner "Neuer Ordner", müssen Sie den folgenden Code verwenden:

Workbooks("example.xlsx").Copy "C:\Новая_папка\example.xlsx"

4. Verwenden der SaveCopyAs-Methode eines Workbook-Objekts :

Eine andere Möglichkeit, eine Excel-Arbeitsmappe zu kopieren, besteht darin, die SaveCopyAs-Methode zu verwenden. Die Syntax dieser Methode lautet wie folgt:

Workbook.SaveCopyAs "Путь_к_файлу"

Zum Beispiel, um die Arbeitsmappe "example.xlsx" und speichern Sie es im Ordner "Neuer Ordner", müssen Sie den folgenden Code verwenden:

Workbooks("example.xlsx").SaveCopyAs "C:\Новая_папка\example.xlsx"

Mit diesen Anweisungen können Sie Dateien einfach in VBA Excel kopieren und den Prozess der Arbeit mit dem Dateisystem automatisieren.