AW: erstellen log.File beim verschieben von
09.04.2023 17:45:36
Byte Master
Hey Thorsten,
erst mal vieln Dank.
Ich bin jetzt nicht so die Oberleuchte in VBA. Deshalb hau ich mal den Code hier rein. Macht sich sicher eifacher für's Verständnis. Der Ordner enthält mehrere Dateien im pdf-Format.
Sub verschieben ()
'Dateien verschieben nach gesendet
Dim QuelleS$, ZielS$, OrdnerS$, crSFile As Object
Dim m As Integer
Set crSFile = CreateObject("Scripting.FileSystemObject")
m = Month(Now)
QuelleS = "C:\bla_ordner\*.pdf"
ZielortS = "C:\bla_ordner\gesendet\"
If Dir(QuelleS) = "" Then
Else
'prüfen welcher Monat
If m = 1 Then
ZielS = ZielortS & "01_Januar"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 2 Then
ZielS = ZielortS & "02_Februar"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 3 Then
ZielS = ZielortS & "03_März"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 4 Then
ZielS = ZielortS & "04_April"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 5 Then
ZielS = ZielortS & "05_Mai"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 6 Then
ZielS = ZielortS & "06_Juni"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 7 Then
ZielS = ZielortS & "07_Juli"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 8 Then
ZielS = ZielortS & "08_August"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 9 Then
ZielS = ZielortS & "09_September"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 10 Then
ZielS = ZielortS & "10_Oktober"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 11 Then
ZielS = ZielortS & "11_November"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
ElseIf m = 12 Then
ZielS = ZielortS & "12_Dezember"
crSFile.CopyFile QuelleS, ZielS, True
crSFile.DeleteFile QuelleS
Set crSFile = Nothing
End If
End If
End Sub
Ich Dummerchen hab vergessen, dass ein Anderes Makro mit einer Schleife früft ob noch eine Datei vorhanden ist und solange das Script durchläuft bist alle Dateien verschoben wurden.
Vllt wäre eine "Pfannenlösung" möglich. Ich mach VBA erst seit ein paar Wochen.
LG Karsten