Kopieren Sie die Datei in VBA
Wir werden anhand von Beispielen vorstellen, wie wir eine Datei mit VBA kopieren können.
Kopieren Sie die Datei in VBA
Das Kopieren von Dateien ist eine VBA-Funktion, mit der wir Dateien von einem Ort an einen beliebigen Ort kopieren können. Diese Funktion ist sehr einfach zu verwenden.
Wir müssen den aktuellen Dateipfad und den Zieldateipfad markieren.
Die Syntax ist wie unten gezeigt.
# vba
FileSysObj.CopyFile src, dst, [ overwrite ]
Der src
ist der Lieferant. Wir können eine Datei aus der Quelle kopieren.
Es ist ein Ort, von dem wir die Datei kopieren möchten. Wir müssen einen vollständig zulässigen Ordnerpfad angeben.
dst
ist der Zielordner; Wir werden die kopierte Datei in diesen Ordner einfügen. Überschreiben ist optional.
Nehmen wir ein Beispiel und kopieren Sie eine Datei namens testFile
aus dem Ordner. Der Code für diese Funktion ist unten dargestellt.
Sub TestFile()
Dim FileSysObj As Object
Set FileSysObj = CreateObject("Scripting.FileSystemObject")
Call FileSysObj.CopyFile("D:\Test\testFile.xlsx", "D:\Test\Dst\", True)
End Sub
Wir benötigen ein Objekt der Klasse FileSystemObject
. Lassen Sie uns das Objekt der Klasse wie unten gezeigt bilden.
Set FileSysObj = CreateObject("Scripting.FileSystemObject")
Jetzt wenden wir die Methode CopyFile
wie unten gezeigt an.
Call FileSysObj.CopyFile("D:\Test\testFile.xlsx", "D:\Test\Dst\", True)
Ausgabe vor dem Ausführen des Codes:
Ausgabe nach Ausführen des Codes:
Wir haben drei Parameter: Quelle
, Ziel
und Überschreiben
. Da source
und destination
gleich sind, verwenden wir overwrite
.
Wir müssen es auf true
oder false
setzen.
Wir werden es in unserem Fall auf True
setzen, was besagt, dass unsere Originaldatei überschrieben wird. Das hätten wir tun sollen, aber mal sehen, was passiert, wenn wir overwrite auf False
setzen.
Dies kann nur durch Ändern des Codes erfolgen, wie unten gezeigt.
Call FileSysObj.CopyFile("D:\Test\testFile.xlsx", "D:\Test\Dst\", False)
Ausgang:
Als Ergebnis tritt ein Fehler auf. Wir können eine Datei auch beim Kopieren umbenennen. Es ist wie das Kopieren einer Datei.
Wir müssen nur den Zielpfad auf einen anderen Namen anpassen, wie unten im Code gezeigt.
Sub TestFile()
Dim FileSysObj As Object
Set FileSysObj = CreateObject("Scripting.FileSystemObject")
Call FileSysObj.CopyFile("D:\Test\testFile.xlsx", "D:\Test\Dst\testFile2.xlsx", True)
End Sub
Ausgang: