Servus community,
ich hoffe ihr könnt mir helfen, da mich schon ein Thema über die Jahre begleitet.
Ich möchte gerne alle meine Emails als PDF speichern mit Anhängen in einem Ordner der nach Datum Absender und Betreff benannt ist.
Im Netz habe ich ein Makro gefunden, der die Email in .doc speichert mit Anhängen in einem seperaten Ordner. Jedoch kann man nur immer eine Email markieren zum Speichern,
Dieser Code:
'Variablen dimensionieren
Dim Mail As MailItem
Dim Pfad As String
Dim Att As Attachment
'Mail auslesen
Set Mail = ActiveExplorer.Selection.Item(1)
'Pfad definieren
Pfad = "C:\Neu\" & Format(Date, "YYYY-MM-DD") & "_" & Mail.SenderEmailAddress
'Ordner anlegen
MkDir Pfad
'Mail abspeichern
Mail.SaveAs Pfad & "\Mail.doc", olDoc
'Schleife über alle Anhänge der Mail
For Each Att In Mail.Attachments
'Anhang speichern
Att.SaveAsFile Pfad & "\" & Att.FileName
Next Att
'Benutzer benachrichtigen
MsgBox "Die Mail und alle Anhänge wurden gespeichert unter " & Pfad
'Bereitgestellt von www.vbatrainer.de
End Sub
Dann habe ich diesen gefunden, der mehrer markierte Emails auf einmal speichern kann. Jedoch scheitere ich bei dem Versuch, die beiden Codes zu verbinden. Ich habe das Ganze einfach noch nicht verstanden.
Diesen hier:
Public Sub SaveMessageAsMsg()
'Update by Extendoffice 2018/3/5
Dim xMail As Outlook.MailItem
Dim xObjItem As Object
Dim xPath As String
Dim xDtDate As Date
Dim xName, xFileName As String
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.BrowseForFolder(0, "Select a folder:", 0, strStartingFolder)
If Not TypeName(xFolder) = "Nothing" Then
Set xFolderItem = xFolder.self
xFileName = xFolderItem.Path & "\"
Else
xFileName = ""
Exit Sub
End If
For Each xObjItem In Outlook.ActiveExplorer.Selection
If xObjItem.Class = olMail Then
Set xMail = xObjItem
xName = xMail.Subject
xDtDate = xMail.ReceivedTime
xName = Format(xDtDate, "yyyymmdd", vbUseSystemDayOfWeek, _
vbUseSystem) & Format(xDtDate, "-hhnnss", _
vbUseSystemDayOfWeek, vbUseSystem) & "-" & xName & ".msg"
xPath = xFileName + xName
xMail.SaveAs xPath, olMSG
End If
Next
End Sub
Dann soll natürlich die Mail als PDF mit der ExportAsFixedFormat erstellt werden.
Könnt ihr mir helfen?
Viele Grüße
David
|