VBA Datei / Arbeitsmappe kopieren

Mit VBA können Sie eine Datei kopieren, indem Sie die FileSystemObject. In diesem Tutorial erfahren Sie, wie Sie eine bestimmte Datei kopieren und umbenennen.

Wenn Sie erfahren möchten, wie Sie eine Datei umbenennen, können Sie auf diesen Link klicken: VBA Datei umbenennen

Eine Datei / Arbeitsmappe kopieren

Wir zeigen, wie man die vorhandene Datei kopiert Beispieldatei 1.xlsx im Ordner VBA-Ordner. In diesem Beispiel benennen wir die Datei nicht um, sondern kopieren und überschreiben sie. Der Ordner enthält derzeit nur diese eine Datei:

Bild 1. Datei im Ordner C:\VBA Folder

Hier ist der Code:

12345 oFSO als Objekt dimmenSet oFSO = CreateObject("Scripting.FileSystemObject")Call oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\", True)

Sie müssen zuerst das Objekt der Klasse erstellen Scripting.FileSystemObject:

1 Set oFSO = CreateObject("Scripting.FileSystemObject")

Dann können wir die Methode verwenden Datei kopieren:

1 Call oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\", True)

Der erste Parameter der Methode ist der Quellpfad und der zweite der Zielpfad. Der dritte Parameter ist Überschreiben. Da wir die gleichen Quell- und Zielpfade haben, müssen wir einstellen Überschreiben zu Wahr oder Falsch. In diesem Beispiel setzen wir True, was bedeutet, dass die Originaldatei überschrieben wird.

Schauen wir uns nun an, was passiert, wenn wir die gleichen Ziele haben, aber Overwrite auf False setzen. Sie müssen nur diese Codezeile ändern:

1 Call oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\", True)

Als Ergebnis erhalten Sie einen Fehler, wie Sie in Bild 2 sehen können:

Bild 2. Fehler beim Kopieren der Datei

Eine Datei kopieren und umbenennen

Eine weitere Möglichkeit beim Kopieren einer Datei besteht darin, sie umzubenennen. Es ist vergleichbar mit dem Kopieren einer Datei, aber jetzt müssen Sie nur noch den Zielpfad mit einem anderen Namen festlegen. Hier ist der Code:

12345 oFSO als Objekt dimmenSet oFSO = CreateObject("Scripting.FileSystemObject")Aufruf von oFSO.CopyFile("C:\VBA-Ordner\Beispieldatei 1.xlsx", "C:\VBA-Ordner\Beispieldatei Copy.xlsx")

Wie Sie in der letzten Zeile des Codes sehen können, möchten wir die Datei kopieren Beispieldatei 1.xlsx im gleichen Ordner und benennen Sie ihn Beispieldatei Copy.xlsx:

1 Aufruf von oFSO.CopyFile("C:\VBA-Ordner\Beispieldatei 1.xlsx", "C:\VBA-Ordner\Beispieldatei Copy.xlsx")

Jetzt haben wir zwei Dateien im VBA-Ordner. Das Ergebnis des Codes ist in Bild 3:

Bild 3. Kopieren Sie die Datei und benennen Sie sie um

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

wave wave wave wave wave