Excel VBA: Datei mit fso.copyfile nach Google Drive kopieren
Schritt-für-Schritt-Anleitung
Um eine Datei wie Personal.xlsb mit der Methode fso.copyfile nach Google Drive zu kopieren, folge diesen Schritten:
-
Öffne den VBA-Editor:
- Drücke
ALT + F11 in Excel, um den VBA-Editor zu öffnen.
-
Erstelle ein neues Modul:
- Klicke im Menü auf
Einfügen > Modul.
-
Füge den folgenden Code ein:
Sub X_Copy_File()
Dim sFil As String, sDirUsr As String, sDirExe As String, sDirGoo As String
sDirUsr = Environ("UserProfile")
sDirGoo = sDirUsr & "\Google Drive\=Temporär\"
sDirExe = sDirUsr & "\AppData\Roaming\Microsoft\Excel\XLSTART\"
sFil = "PERSONAL.XLSB" ' Quell-Datei
Call to_Copy_File(sDirExe, sDirGoo, sFil)
End Sub
Sub to_Copy_File(ByVal SrcPath As String, ByVal DstPath As String, ByVal FileName As String)
Dim src As Variant, dst As Variant
Set fsoObj = CreateObject("Scripting.FileSystemObject")
src = SrcPath & FileName
dst = DstPath & FileName
fsoObj.CopyFile src, dst ' Datei kopieren
End Sub
-
Speichere und führe das Makro aus:
- Drücke
F5, um das Makro auszuführen. Achte darauf, dass die Datei Personal.xlsb nicht geöffnet ist.
Häufige Fehler und Lösungen
Alternative Methoden
Falls FileCopy nicht funktioniert, kannst du die FileSystemObject-Methode verwenden, die in VBA sehr flexibel ist:
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "Pfad\zur\Quelldatei", "Pfad\zum\Zielordner"
Diese Methode kannst du auch für andere Dateitypen verwenden und bietet mehr Kontrolle über den Kopiervorgang.
Praktische Beispiele
Hier sind einige praktische Beispiele für den Einsatz von fso.copyfile in verschiedenen Situationen:
-
Kopiere eine Excel-Datei:
fso.CopyFile "C:\Users\DeinBenutzername\Documents\test.xlsm", "C:\Users\DeinBenutzername\Google Drive\=Temporär\test.xlsm"
-
Kopiere eine Textdatei:
fso.CopyFile "C:\Users\DeinBenutzername\Documents\notiz.txt", "C:\Users\DeinBenutzername\Google Drive\=Temporär\notiz.txt"
Tipps für Profis
- Verwende
fso.copy anstelle von FileCopy, wenn du mit größeren Dateien arbeitest, da dies oft stabiler ist.
- Denke daran, die Datei vor dem Kopiervorgang zu schließen, um Zugriffsprobleme zu vermeiden.
- Teste dein VBA-Skript in einer gesicherten Umgebung, bevor du es in produktiven Dateien einsetzt.
FAQ: Häufige Fragen
1. Warum erhalte ich den Fehler "Zugriff verweigert"?
Der Fehler tritt auf, wenn die Datei, die du kopieren möchtest, geöffnet ist. Schließe die Datei und versuche es erneut.
2. Was ist der Unterschied zwischen FileCopy und fso.copyfile?
FileCopy ist eine eingebaute VBA-Funktion, während fso.copyfile Teil des FileSystemObject ist und mehr Flexibilität bietet, insbesondere bei Fehlerbehandlungen.
3. Kann ich auch andere Dateitypen kopieren?
Ja, du kannst mit fso.copyfile alle Dateitypen kopieren, solange du die richtigen Pfade angibst.