Lösung gefunden
Hallo,
ich habe eine mögliche Lösung gefunden.
Hier nun der Code:
Option Explicit
Sub Datei_verarbeiten(pfad As String, mail As String, myMail As Outlook.MailItem)
Dim a As Byte
Dim stext, sText1, ltext, rtext, nText As String
Dim z, startWert, endwert, zaehler As Long
Dim anhang As Outlook.Attachment
a = FreeFile
Open pfad & mail & „.html“ For Input As a
While Not EOF(a)
Input #a, sText1
stext = stext & " " & sText1
Wend
Close #a
'Anhang mit speichern
startWert = 1
zaehler = 1
For Each anhang In myMail.Attachments
anhang.SaveAsFile „c:\temp“ & mail & „_“ & anhang.FileName
'MsgBox (anhang.DisplayName)
If InStr(1, anhang.FileName, „.gif“) 0 Then
startWert = InStr(startWert, stext, „src=“)
endwert = InStr(startWert, stext, „>“)
ltext = Mid(stext, 1, startWert + 3)
rtext = Mid(stext, endwert, Len(stext))
nText = ltext & ChrW(34) & mail & „_“ & anhang.FileName & ChrW(34) & rtext
stext = nText
startWert = endwert
End If
If InStr(1, anhang.FileName, „.jpg“) 0 Then
startWert = InStr(startWert, stext, „src=“)
endwert = InStr(startWert, stext, „>“)
ltext = Mid(stext, 1, startWert + 3)
rtext = Mid(stext, endwert, Len(stext))
nText = ltext & ChrW(34) & mail & „_“ & anhang.FileName & ChrW(34) & rtext
stext = nText
startWert = endwert
End If
If InStr(1, anhang.FileName, „.png“) 0 Then
startWert = InStr(startWert, stext, „src=“)
endwert = InStr(startWert, stext, „>“)
ltext = Mid(stext, 1, startWert + 3)
rtext = Mid(stext, endwert, Len(stext))
nText = ltext & ChrW(34) & mail & „_“ & anhang.FileName & ChrW(34) & rtext
stext = nText
startWert = endwert
End If
Next
Open pfad & mail & „.html“ For Output As a
Print #a, stext
Close #a
End Sub
Sub Command1_Click()
'rem Deklaration und Definition
Dim myOlApp As Outlook.Application
Dim myMail As Outlook.MailItem
Dim mail As String
Dim pfad As String
Dim fs As Object
Dim anhang As Attachment
Dim zaehler As Integer
'Erzeuge Objektinstanz für mailitem
Set myOlApp = CreateObject(„Outlook.Application“)
Set myMail = myOlApp.CreateItem(olMailItem)
Set fs = CreateObject(„Scripting.FileSystemObject“)
'Inputbox test -> vbCrLf für Zeilenumbruch
pfad = InputBox(„Eingabe des Pfades:“, „Pfadeingabe“, „c:\temp“)
'prüft ob das Verzeichnis existiert
If fs.FolderExists(pfad) = True Then
'MsgBox („Pfad existiert“)
Else
MsgBox („Pfad existiert nicht Programmabbruch“)
End
End If
'Für jedes ausgewähltes Objekt im explorer
For Each myMail In Outlook.ActiveExplorer.Selection
'Wenn email txt
If myMail.GetInspector.EditorType = olEditorText Then
If myMail.Body „“ Then
mail = Replace(myMail.Subject, „:“, „_“)
mail = Replace(mail, „&“, „_“)
mail = Replace(mail, „“, „_“)
mail = Replace(mail, „?“, „_“)
mail = Replace(mail, „“, „_“)
mail = Replace(mail, „/“, „_“)
mail = Replace(mail, „*“, „_“)
mail = Replace(mail, „|“, „_“)
mail = Replace(mail, " ", „_“)
For zaehler = 1 To 2
'Mails speichern
myMail.SaveAs pfad & mail & „.txt“, olTXT
Next
'Anhang mit speichern
zaehler = 1
For Each anhang In myMail.Attachments
anhang.SaveAsFile „c:\temp“ & „#“ & mail & „#“ & anhang.FileName
zaehler = zaehler + 1
Next
Else
MsgBox („Leerer Body“)
End If
End If
'wenn email als html
If myMail.GetInspector.EditorType = olEditorHTML Then
'If myMail.Body „“ Then
mail = Replace(myMail.Subject, „:“, „_“)
mail = Replace(mail, „&“, „_“)
mail = Replace(mail, „“, „_“)
mail = Replace(mail, „?“, „_“)
mail = Replace(mail, „“, „_“)
mail = Replace(mail, „/“, „_“)
mail = Replace(mail, „*“, „_“)
mail = Replace(mail, „|“, „_“)
mail = Replace(mail, " ", „_“)
For zaehler = 1 To 2
'Mails speichern
myMail.SaveAs pfad & mail & „.html“, olHTML
Next
'Aufrufen eine Methode für das einfügen der Bilder in die Email
Call Datei_verarbeiten(pfad, mail, myMail)
'Else
’ MsgBox („Leerer Body“)
'End If
End If
'wenn email rtf
If myMail.GetInspector.EditorType = olEditorRTF Then
If myMail.Body „“ Then
mail = Replace(myMail.Subject, „:“, „_“)
mail = Replace(mail, „&“, „_“)
mail = Replace(mail, „“, „_“)
mail = Replace(mail, „?“, „_“)
mail = Replace(mail, „“, „_“)
mail = Replace(mail, „/“, „_“)
mail = Replace(mail, „*“, „_“)
mail = Replace(mail, „|“, „_“)
mail = Replace(mail, " ", „_“)
For zaehler = 1 To 2
'Mails speichern
myMail.SaveAs pfad & mail & „.rtf“, olRTF
Next
'Anhang mit speichern
zaehler = 1
For Each anhang In myMail.Attachments
anhang.SaveAsFile „c:\temp“ & „#“ & mail & „#“ & anhang.FileName
zaehler = zaehler + 1
Next
Else
MsgBox („Leerer Body“)
End If
End If
'wenn email doc
If myMail.GetInspector.EditorType = olEditorWord Then
If myMail.Body „“ Then
mail = Replace(myMail.Subject, „:“, „_“)
mail = Replace(mail, „&“, „_“)
mail = Replace(mail, „“, „_“)
mail = Replace(mail, „?“, „_“)
mail = Replace(mail, „“, „_“)
mail = Replace(mail, „/“, „_“)
mail = Replace(mail, „*“, „_“)
mail = Replace(mail, „|“, „_“)
mail = Replace(mail, " ", „_“)
'Mails speichern
myMail.SaveAs pfad & mail & „.doc“, olDoc
'Anhang mit speichern
zaehler = 1
For Each anhang In myMail.Attachments
anhang.SaveAsFile „c:\temp“ & „#“ & mail & „#“ & anhang.FileName
zaehler = zaehler + 1
Next
Else
MsgBox („Leerer Body“)
End If
End If
Next
MsgBox („Speichern beendet“)
End Sub
Vielleicht hilft das mal jemanden! 
Gruss Omega_D