VBA-Dateikopie

Excel VBA FileCopy-Funktion

Dateikopie ist eine integrierte vba-Funktion, mit der die Datei von einem Speicherort an einen anderen genannten Speicherort kopiert wird. Um diese Funktion nutzen zu können, müssen wir den aktuellen Dateipfad und den Zieldateipfad angeben.

Ok, schauen wir uns die Syntax der FileCopy-Funktion an.

  • Quelle: Dies ist nichts anderes als der Ort, an dem wir die Datei kopieren müssen. Wir müssen den vollständig qualifizierten Ordnerpfad erwähnen.
  • Ziel: Dies ist der Zielordner, in den die kopierte Datei eingefügt werden muss.

Beispiele

Im Folgenden finden Sie Beispiele zum Kopieren von Dateien mit VBA-Code.

Sie können diese VBA-Dateikopie-Excel-Vorlage hier herunterladen - VBA-Dateikopie-Excel-Vorlage

Beispiel 1

Beginnen wir mit einem einfachen Beispiel. Ich habe eine Datei mit dem Namen "Sales April 2019" im Ordner. Unten ist das Bild derselben, dh " Quelle ".

Von dem oben genannten Speicherort möchte ich diese Datei kopieren und in einen anderen Ordner einfügen. Unten ist das Bild derselben, dh " Zielquelle".

Ok, lass uns den Code dafür schreiben.

Öffnen Sie die FileCopy- Funktion in der Sub-Prozedur.

Code:

 Sub FileCopy_Example1 ()

FileCopy

End Sub

Als erstes Argument müssen wir den Dateipfad erwähnen, in dem sich unser aktueller befindet.

Code:

 Sub FileCopy_Example1 ()

FileCopy “D: \ Meine Dateien \ VBA \ April-Dateien

End Sub

Nachdem wir den Ordnerpfad erwähnt haben, müssen wir auch die Datei mit der Dateierweiterung erwähnen. Erwähnen Sie daher den Dateinamen, indem Sie einen Backslash (\) einfügen.

Code:

 Sub FileCopy_Example1 () FileCopy "D: \ Meine Dateien \ VBA \ April-Dateien \ Sales April 2019.xlsx", End Sub 

Erwähnen Sie nun im zweiten Argument, wo wir die kopierte Datei einfügen müssen.

Code:

 Sub FileCopy_Example1 () FileCopy "D: \ Meine Dateien \ VBA \ April-Dateien \ Verkäufe April 2019.xlsx", "D: \ Meine Dateien \ VBA \ Zielordner \ Verkäufe April 2019.xlsx" End Sub 

Eine Sache, die wir im Folgenden tun müssen, um den Ordnerpfad am Ende zu erwähnen, ist, dass wir den Dateinamen auch im Zielargument erwähnen müssen.

Führen Sie nun den Code mit der Taste F5 oder manuell aus. Anschließend wird die Datei von unten an einen Zielort kopiert.

"D: \ Meine Dateien \ VBA \ April-Dateien \ Verkäufe April 2019.xlsx"

"D: \ Eigene Dateien \ VBA \ Zielordner \ Vertrieb April 2019.xlsx"

Beispiel 2 - Verwenden Sie Variablen zum Speichern des Quell- und Zielpfads.

Im vorherigen Beispiel haben wir den Quell- und Zielpfad direkt an die Formel übergeben. Dies ist jedoch nicht die beste Vorgehensweise, um fortzufahren. Speichern Sie sie daher in Variablen.

Ein Beispiel finden Sie im folgenden Code.

Code:

 Sub FileCopy_Example2 () Dim SourcePath als Zeichenfolge Dim DestinationPath als Zeichenfolge SourcePath = "D: \ Meine Dateien \ VBA \ April-Dateien \ Verkäufe April 2019.xlsx" DestinationPath = "D: \ Meine Dateien \ VBA \ Zielordner \ Verkäufe April 2019. xlsx "FileCopy SourcePath, DestinationPath End Sub 

Lassen Sie mich den Code für Sie im Detail erklären.

Zuerst habe ich zwei Variablen deklariert.

 Dim SourcePath As String Dim DestinationPath As String 

Dann habe ich für die erste Variable den Ordnerpfad zugewiesen, von dem sie die Datei und den Dateinamen zusammen mit ihrer Dateierweiterung kopieren muss.

SourcePath = "D: \ Meine Dateien \ VBA \ April-Dateien \ Verkäufe April 2019.xlsx"

Für die zweite Variable habe ich den Pfad des Zielordners mit Dateiname und Excel-Erweiterung zugewiesen.

DestinationPath = "D: \ Meine Dateien \ VBA \ Zielordner \ Sales April 2019.xlsx"

Dann habe ich für die Formel FileCopy diese Variablen anstelle langer Ordnerpfadzeichenfolgen angegeben.

FileCopy SourcePath, DestinationPath

Auf diese Weise können wir Variablen verwenden, um die Pfade zu speichern und effizient zu verwenden.

Beispiel 3 - Fehler mit der Dateikopierfunktion

Manchmal tritt bei der Dateikopierfunktion der Fehler "Berechtigung verweigert" auf.

Der Grund, warum wir diesen Fehler erhalten, liegt darin, dass beim Öffnen der Kopierdatei und beim Versuch, den obigen Fehler zu kopieren, die Datei immer geschlossen und der Code ausgeführt wird.