Hallo liebe VBA-Freunde,
ich nutze ein (zusammenkopiertes) VBA Script, dass Outlook Anhänge in einen Ordner schiebt und mir damit sehr viel Zeit
spart.
Bisher habe ich dieses benutzt:
Public Sub Save_blabla1(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim Space
Dim Uhr
Space = " - "
Dim SenderName
SenderName = Format(itm.SenderName)
Dim dateFormat
dateFormat = Format(itm.ReceivedTime - 1, "dd.mmmm.yyyy")
saveFolder = "T:\BLA\"
For Each objAtt In itm.Attachments
If InStr(objAtt.DisplayName, ".pdf") Or _
InStr(objAtt.DisplayName, ".PDF") Then
objAtt.SaveAsFile saveFolder & "\" & "BLABLABLA-" & dateFormat & ".pdf"
End If
objAtt.Delete
Set objAtt = Nothing
Next
End Sub
Mit der Zeit habe ich "gelernt" und das Script gehörig erweitert und z.B. unnütze Zeilen entfernt. Mit diesem Script werden nun die Anlagen in zwei Ordner gespeichert die vorher erstellt werdenund es gibt noch eine "Log-Ordner" - funktioniert alles prima - fast:
Public Sub Save_blablabla1(itm As Outlook.MailItem)
Dim dateFormat
Dim dateFormatSHORT
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim saveFolder2 As String
Dim AKTUELLERMONAT As String
Dim AKTUELLERTAG As String
Dim LOGZEIT As String
Dim LOGDATUM As String
dateFormat = Format(itm.ReceivedTime - 1, "dd.mmmm.yyyy")
dateFormatSHORT = Format(itm.ReceivedTime - 1, "dd-mmm-yy")
saveFolder = "T:\BLA\"
saveFolder2 = "T:\BLABLA\"
saveFolderLOG = "T:\BLABLABLA\"
AKTUELLERMONAT = Format(Date - 1, "YYYY-MM-MMMM") '
AKTUELLERTAG = Format(Date - 1, "MMM-DD") '
LOGDATUM = Format(Date, "DD.MM.YYYY") '
LOGZEIT = Format(Time, "-Hh:MM:SS") '
If Dir(saveFolder2 & AKTUELLERMONAT, vbDirectory) = "" Then
MkDir (saveFolder2 & AKTUELLERMONAT)
End If
If Dir(saveFolder2 & AKTUELLERMONAT & "\" & AKTUELLERTAG, vbDirectory) = "" Then
MkDir (saveFolder2 & AKTUELLERMONAT & "\" & AKTUELLERTAG)
End If
For Each objAtt In itm.Attachments
If InStr(objAtt.DisplayName, ".pdf") Or _
InStr(objAtt.DisplayName, ".PDF") Then
objAtt.SaveAsFile saveFolder & "\" & "BLABLABLABLABLABLA-" & dateFormat & ".pdf"
objAtt.SaveAsFile saveFolder2 & AKTUELLERMONAT & "\" & AKTUELLERTAG & "\" & dateFormatSHORT & "-BLABLABLABLABLABLA" & ".pdf"
End If
objAtt.Delete
Set objAtt = Nothing
Next
'LOG
Open saveFolderLOG & "LOG-BLABLABLABLABLA.txt" For Output As #1
Print #1, "Das Script wurde ausgeführt. Die Datei wurde gespeichert. " & LOGDATUM & LOGZEIT
Close #1
End Sub
Das Problem: Das zweite Script "schafft" es nicht mehr die ursprüngliche Zeit des eMail Empfangs als Speicherdatum der Datei zu setzen. Also wenn die eMail um 9:00 gesendet wird un Outlook erst um 12 gestartet wird soll (war mit dem ersten Sctript)auch so) im Explorer 9:00 als Datum stehen. In beiden Scripten erkenn ich keinen Befehl der das beeinflussen könnte.
We kann helfen?
Mit freundlichen Grüßen
Tom
|