Excel VBA FileCopy

Es gibt viele Möglichkeiten, eine Datei von einem Ordner in einen anderen zu kopieren oder zu verschieben. Wir können dies manuell tun, indem Sie das Dateisymbol kopieren, ausschneiden und in den Zielordner einfügen. Wenn es jedoch darum geht, diesen Prozess des Kopierens der Datei zu automatisieren, können wir dies auch in VBA tun. Zum Kopieren der Datei steht in VBA eine Funktion mit dem Namen "Dateikopie" zur Verfügung.

Syntax von FileCopy in Excel VBA

Es ist sehr einfach, File Copy in VBA anzuwenden. Die Syntax von File Copy ist wie folgt.

Die Dateikopie muss nur aus zwei Komponenten bestehen. Welche sind:

  • Quelle - Hier wird der Quellspeicherort angegeben, von dem aus die Datei kopiert werden soll.
  • Ziel - Dies ist der Zielordner, in den die kopierte Datei eingefügt wird.

Die vollständige Syntax wird im String-Datentyp angegeben. Weil wir den Pfad der Datei als Text verwenden werden.

Wie kopiere ich eine Datei in Excel VBA?

Lassen Sie uns nun einige Beispiele zum Kopieren von VBA-Dateien in Excel ausprobieren.

Sie können diese VBA-Excel-Dateivorlage hier herunterladen - VBA-Excel-Dateivorlage kopieren

Beispiel # 1 - FileCopy In VBA

Im ersten Beispiel wird gezeigt, wie eine Datei von einem Quellspeicherort kopiert und auf sehr einfache Weise an einem Zielspeicherort eingefügt wird.

Dafür benötigen wir eine Datei jeglicher Art oder Erweiterung. Hier betrachten wir eine Excel-Datei mit der Erweiterung xlsx . Wie wir sehen können, haben wir diese Excel-Datei an einem leicht zugänglichen Ort mit dem Namen Test abgelegt.

Nun kopieren wir diese Datei mit Hilfe von FileCopy in den unten angegebenen Zielordner .

Schritt 1: Wechseln Sie dazu zu VBA und öffnen Sie eine Dropdown-Option im Menü Einfügen (siehe Abbildung unten).

Schritt 2: Schreiben Sie nun in das geöffnete Modul die Unterkategorie von VBA FileCopy oder einen anderen Namen nach Ihrer Wahl.

Code:

 Sub VBA_Copy1 () End Sub 

Schritt 3: Öffnen Sie nun direkt die FileCopy- Funktion wie unten gezeigt.

Code:

 Sub VBA_Copy1 () FileCopy (End Sub 

Schritt 4: Schreiben Sie nun in Anführungszeichen die Quelladresse, gefolgt von Dateiname und Dateierweiterung, wie unten gezeigt.

Code:

 Sub VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", End Sub 

Schritt 5: Geben Sie für den Zielspeicherort den Pfad erneut in Anführungszeichen ein, gefolgt von Datei und Erweiterung.

Code:

 Sub VBA_Copy1 () FileCopy "D: \ Test1 \ Hello.xlsx", "D: \ VPB-Datei \ April Files \ Hello.xlsx" End Sub 

Schritt 6: Kompilieren Sie nun den Code und führen Sie ihn aus, indem Sie auf die Schaltfläche Abspielen klicken, die sich unter der Menüleiste befindet. Wir werden sehen, dass die Excel-Datei mit dem Namen Test nun vom Quellspeicherort zum Zielspeicherort kopiert wird, wie unten gezeigt. Da die Datei nichts enthielt, beträgt die Dateigröße 0 KB .

Beispiel # 2 - FileCopy In VBA

In einem anderen Beispiel wird gezeigt, wie die Datei vom Quellspeicherort zum Ziel kopiert wird, indem die Variable definiert wird. Dieser Prozess ist etwas langwierig, aber zuverlässiger, da wir die Parameter und Variablen festlegen werden.

Schritt 1: Öffnen Sie nun zuerst ein neues Modul und schreiben Sie die Unterkategorie der VBA-Dateikopie wie unten gezeigt.

Code:

 Sub VBA_Copy2 () End Sub 

Schritt 2: Definieren Sie zunächst eine Variable, in der der Quellspeicherort der Datei dieselbe Excel-Datei enthält, die wir in Beispiel-1 als String verwendet haben.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String End Sub 

Schritt 3: In ähnlicher Weise benötigen wir eine weitere Variable für den Zielspeicherort.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String End Sub 

Schritt 4: Fügen Sie nun die Position in die erste definierte Variable ein, die " FirstLocation " ist, zusammen mit dem Dateinamen und seiner Erweiterung.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" End Sub 

Schritt 5: Führen Sie auf ähnliche Weise dasselbe für den Zielspeicherort aus, indem Sie die oben definierte Variable " SecondLocation" verwenden .

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB-Datei \ April-Dateien \ Hello.xlsx" End Sub 

Schritt 6: Jetzt ist es an der Zeit, die FileCopy- Funktion zu verwenden.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB-Datei \ April-Dateien \ Hello.xlsx" FileCopy End Sub 

Gemäß der Syntax von FileCopy müssen wir zuerst den Quellspeicherort angeben, an dem wir die Datei aufbewahrt haben. Da wir jedoch bereits die Quell- und Zielverzeichnisse für beide Variablen oben definiert haben.

Schritt 7: Hier können wir diese Variablen direkt auswählen. Wählen Sie zuerst die Quellstandortvariable FirstLocation aus .

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB-Datei \ April-Dateien \ Hello.xlsx" FileCopy FirstLocation End Sub 

Schritt 8: Wählen Sie auf ähnliche Weise die Zielortvariable SecondLocation aus, wie unten gezeigt.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ Test1 \ Hello.xlsx" SecondLocation = "D: \ VPB-Datei \ April-Dateien \ Hello.xlsx" FileCopy FirstLocation, SecondLocation End Sub 

Schritt 9: Sobald Sie fertig sind, kompilieren Sie den Code, indem Sie die Funktionstaste F8 drücken. Und wenn kein Fehler gefunden wird, führen Sie den Code aus. Wir werden sehen, dass die Datei vom Quellspeicherort kopiert und wie unten gezeigt in den Zielordner eingefügt wird.

Wir können auch einen anderen Standortpfad ausprobieren. Zum Testen betrachten wir einen anderen Quellspeicherort, an dem wir eine Word-Datei haben werden.

Wie wir sehen können, enthält die Datei keine Daten, daher wird die Größe wieder als 0 KB angezeigt.

Der Zielordner ist der Ausgabeordner, der sich unter dem Eingabeordner befindet. Wenn wir in der Datei sehen, sind keine Daten verfügbar.

Jetzt ersetzen wir die Quelle und das Ziel in den Variablen FirstLocation und Second Location, gefolgt vom Dateinamen und seiner Erweiterung.

Code:

 Sub VBA_Copy2 () Dim FirstLocation As String Dim SecondLocation As String FirstLocation = "D: \ VPB-Datei \ April-Dateien \ New Excel \ Test Case.docx" SecondLocation = "D: \ VPB-Datei \ April-Dateien \ Endspeicherort \ Test-Fall. docx "FileCopy FirstLocation, SecondLocation End Sub 

Führen Sie nun den Code aus.

Wir werden sehen, dass die Testwortdatei jetzt aus dem Eingabeordner in den Ausgabeordner mit der gleichen Größe von 0 KB kopiert wird.

Vorteile von FileCopy In VBA

  • Es kann zum Kopieren von mehr als einer Datei auf einmal verwendet werden.
  • Für 10 Dateien wird eine ähnliche Zeit benötigt wie für das Kopieren einer Datei.
  • Wir können jeden Endungsdateityp verwenden, den wir kopieren möchten.

Dinge, an die man sich erinnern sollte

  • Fügen Sie den Dateinamen und seine Erweiterung immer am Ende des Ortsnamens ein.
  • Zitieren Sie die Links zu Ziel und Quellspeicherort in Anführungszeichen.
  • Wenn Sie fertig sind, speichern Sie den Code in Macro enable excel, um ihn für zukünftige Zwecke zu verwenden und aufzubewahren.
  • Gewähren Sie immer die Berechtigung zum Codieren, damit die Datei vom Quellspeicherort kopiert und an einem Zielspeicherort eingefügt werden kann.

Empfohlene Artikel

Dies ist eine Anleitung zu FileCopy in VBA. Hier wird das Kopieren einer Excel-Datei mit VBA-Code zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Arbeiten mit VBA Active Cell
  2. Zeile in VBA löschen
  3. Wie verwende ich Excel VBA Transpose?
  4. Wie 1004 Fehler mit VBA zu beheben

Kategorie: