Überblick
- Status
- Beantwortet
- Forum
- Outlook VBA
- Gefragt von
- Unbekannt
- Gefragt am
- Antworten
- 4
Frage
fragte am
Hallo!
Ich möchte ein Makro bauen, welches per Regel-Assistent ausgeführt wird. Dieses soll Attachments in einem Pfad abspeichern und den Mitteilungstext (Body-Text der Mail) als txt-Datei abspeichern. Dazu habe ich schon zwei Beispiele gefunden, die ich jedoch nicht zusammenfügen kann. Könntet ihr mir helfen?
Mail-Inhalt speichern (sollte aber nur den Body speichern):
Code:
Public Enum olSaveAsTypeEnum
olSaveAstxt = 0
End Enum
Private WithEvents Items As Outlook.Items
Private Const MAIL_PATH As String = \“c:\\\“
Private Sub TextSpeichern(Ns As Outlook.NameSpace)
Set Ns = Application.GetNamespace(\“MAPI\“)
Set Items = Ns.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
If TypeOf Item Is Outlook.MailItem Then
SaveMailAsFile Item, olSaveAstxt, MAIL_PATH
End If
End Sub
Public Sub SaveMailAsFile(oMail As Outlook.MailItem, _
eType As olSaveAsTypeEnum, _
sPath As String _
)
Dim sName As String
Dim sExt As String
oMail.To = \“\“
oMail.Subject = \“\“
eType = olSaveAstxt: sExt = \“.txt\“
sName = \“versuch\“ & sExt
oMail.SaveAs sPath & sName, eType
End Sub
Private Sub ReplaceCharsForFileName(sName As String, _
sChr As String _
)
sName = Replace(sName, \“/\“, sChr)
sName = Replace(sName, \“\\\“, sChr)
sName = Replace(sName, \“:\“, sChr)
sName = Replace(sName, \“?\“, sChr)
sName = Replace(sName, Chr(34), sChr)
sName = Replace(sName, \“<\", sChr)
sName = Replace(sName, \">\“, sChr)
sName = Replace(sName, \“|\“, sChr)
End Sub
Attachment abspeichern:
Code:
Public Sub AufnahmeMailVerschicken(objNewMail As MailItem)
Dim Ordnername As String
Dim objPosteingang As MAPIFolder
Dim anzahl
Dim i
On Error Resume Next
Set objPosteingang = Application.GetNamespace(\“MAPI\“).GetDefaultFolder(olFolderInbox)
For Each objNewMail In objPosteingang.Items
With objNewMail
If .UnRead = True Then
anzahl = .Attachments.Count
If anzahl > 0 Then
Ordnername = \“C:\\\“ & objNewMail.SenderName
MkDir Ordnername
For i = 1 To anzahl
.Attachments.Item(i).SaveAsFile Ordnername & \“\\\“ & .Attachments.Item(i).FileName
Next i
End If
End If
End With
Next objNewMail
End Sub
Danke schon im Voraus für eure Hilfe!
cyber.space
4 Antworten
- Sie müssen angemeldet sein, um zu diesem Thema eine Antwort verfassen zu können.
