Hallo,
ich möchte mit VBA Dateien von einem USB-Stick in ein Verzeichnis kopieren.
Ich dachte die CopyFile-Methode wäre eine gute Möglichkeit...mit der Zuweisung der entsprechenden Pfade komme ich auch zurecht.
FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"
Ich weiß aber nicht, wie ich mit dem ersten Schritt "FileSystemObject" umgehen muss,
kann mir das jemand erklären?
Ziel ist ein einfaches kopieren von Dateien...
Vielen Dank!
Harry
Hallo Harry,
So ganz verstehe ich die Frage nicht, - du verwendest doch das FSO.
Ich verwende für "externe" Objekte aber lieber Late-Binding, und halte
das Objekt in einer Membervariablen und einer Factory-Funktion vor, -
in einem allgem. Modul
Private m_FileSystemObject As Object
Public Function GetFSO() As Object
If m_FileSystemObject Is Nothing Then
Set m_FileSystemObject = CreateObject("Scripting.FilesystemObject")
End If
Set GetFSO = m_FileSystemObject
End FunctionVerwendung
GetFSO.CopyFile ..., ...
Danke erstmal für die Antwort...
Mir fehlt dazu einfach noch der gesamte Hintergrund...wenn ich das dann einmal gesehen habe, weiß ich in Zukunft Bescheid...
Vermutlich fehlt da ein Dimensionieren und ein set...oder was auch immer...
Der jetzige Code sieht wie nachfolgend aus. Was muss ich dazu ergänzen, um
nicht die anhängende Fehlermeldung zu erhalten...?
'Kopieren der Dateien von USB-Stick in Ordner Teilnehmer
Dim strPfadTN_USB As String
Dim strPfadTN_DB As String
strPfadTN_USB = Forms!Formular1.cbxLaufwerkSelect.Column(2) & ":" & "\" & "TN"
strPfadTN_DB = DLookup("Ordnerpfad", "OrdnerAnlegenT", "ID = 1") & Forms!Formular1.cbxTeilnehmerSelect.Column(2)
'Prüfung ob Ordner in DB vorhanden sind
If Dir(strPfadTN_DB, vbDirectory) = "" Then
MsgBox "Bitte zuerst Teilnehmer-Ordner anlegen"
Exit Sub
End If
'Prüfung ob Ordner auf USB-Stick vorhanden sind
' If Dir(strPfadTN_USB, vbDirectory) = "" Then
' MsgBox "Ordner auf USB-Stick nicht vorhanden"
' Exit Sub
' End If
FileSystemObject.CopyFile "strPfadTN_USB\LebenslaufZeugnisse\*.*", "strPfadTN_DB\LebenslaufZeugnisse\", True
Ich habe es jetzt verstanden :)
Der Code läuft!
Vielen Dank
Harry
'Kopieren der Dateien von USB-Stick in Ordner Teilnehmer
Dim strPfadTN_USB As String
Dim strPfadTN_DB As String
strPfadTN_USB = Forms!Formular1.cbxLaufwerkSelect.Column(1) & ":" & "\" & "TN"
strPfadTN_DB = DLookup("Ordnerpfad", "OrdnerAnlegenT", "ID = 1") & Forms!Formular1.cbxTeilnehmerSelect.Column(2)
'Prüfung ob Ordner in DB vorhanden sind
' If Dir(strPfadTN_DB, vbDirectory) = "" Then
' MsgBox "Bitte zuerst Teilnehmer-Ordner anlegen"
' Exit Sub
' End If
'Prüfung ob Ordner auf USB-Stick vorhanden sind
' If Dir(strPfadTN_USB, vbDirectory) = "" Then
' MsgBox "Ordner auf USB-Stick nicht vorhanden"
' Exit Sub
' End If
' MsgBox strPfadTN_USB & vbCrLf & strPfadTN_DB
' Pfadangaben der MsgBox sind korrekt...
GetFSO.CopyFile strPfadTN_USB & "\LebenslaufZeugnisse\*.*", strPfadTN_DB & "\LebenslaufZeugnisse", True
GetFSO.CopyFile strPfadTN_USB & "\Anschreiben\*.*", strPfadTN_DB & "\Anschreiben", True
GetFSO.CopyFile strPfadTN_USB & "\ExcelBewerbungen\*.*", strPfadTN_DB & "\ExcelBewerbungen", True
'MsgBox "Dateien wurden kopiert"