Een mail uit de inbox van Outlook aanpassen en weer osplaan
Hallo allemaal,
ik wil het volgende doen.
Uit een (of meerdere) geselecteerde mail de bijlage verwijderen en vervolgens in text onderaan tekst toevoegen met de verwijderde bijlages. Vervolgens de mail weer opslaan (in dezelfde map als dat die staat).
Ik ben hier al een heel end mee, alleen bij het toeveogen van tekst aan de email verlies ik de oorspronkelijke opmaak. Ik heb het volgende (in de code roep ik nog een aantal functies aan die er verder voor de vraag niet toe doen:
Door de regel
verlies ik dus de opmaak, hoe kan ik dat anders doen? Het lukt me niet om de email te benaderen en met bijvoorbeeld TypeText iets toe te voegen...
Alvast bedankt
Hallo allemaal,
ik wil het volgende doen.
Uit een (of meerdere) geselecteerde mail de bijlage verwijderen en vervolgens in text onderaan tekst toevoegen met de verwijderde bijlages. Vervolgens de mail weer opslaan (in dezelfde map als dat die staat).
Ik ben hier al een heel end mee, alleen bij het toeveogen van tekst aan de email verlies ik de oorspronkelijke opmaak. Ik heb het volgende (in de code roep ik nog een aantal functies aan die er verder voor de vraag niet toe doen:
Code:
Sub SlaBijlageOp()
Dim bi As BROWSEINFO
Dim pidl As Long
Dim path As String
Dim pos As Integer
Dim strDoelmap As String
Dim strBijlage As String
'Dim oMail As MailItem
Dim oAttach As Outlook.Attachments
Dim Item As Object
Dim sFiles As String
Dim iTeller As Integer
Dim i As Integer
Set Item = Application.Explorers(1).Selection
For Each MailItem In Item
Set oAttach = MailItem.Attachments
iTeller = oAttach.Count
sFiles = ""
If iTeller > 0 Then
For i = 1 To iTeller
sFiles = sFiles & vbCrLf & oAttach(i).DisplayName
Next i
If MsgBox("To: " & MailItem.To & vbCrLf & "Subject: " & MailItem.Subject & vbCrLf & vbCrLf & "Wil je de volgende bijlagen uit de mail verwijderen en opslaan?" & sFiles, vbYesNo) = vbYes Then
'message to be displayed in the Browse dialog
bi.lpszTitle = "Selecteer de doelmap"
'the type of folder to return.
bi.ulFlags = BIF_RETURNONLYFSDIRS
'show the browse for folders dialog
pidl = SHBrowseForFolder(bi)
'the dialog has closed, so parse & display the
'user's returned folder Selection contained In pidl
path = Space$(MAX_PATH)
If SHGetPathFromIDList(ByVal pidl, ByVal path) Then
pos = InStr(path, Chr$(0))
'MsgBox Left(path, pos - 1)
strDoelmap = Left(path, pos - 1)
'voeg aan het einde \ toe als deze er niet staat
If Right(strDoelmap, 1) <> "\" Then
strDoelmap = strDoelmap & "\"
End If
End If
For i = 1 To iTeller
'als het bestand al bestaat vraag dan of deze overschreven moet worden of dat er
'een volgnummer aan het bestand moet worden gevoegd.
strBijlage = oAttach.Item(i).DisplayName
test = fFileBestaat(strDoelmap & strBijlage)
x = 0
Do Until test = False
x = x + 1
'MsgBox test & vbCr & strBijlage
strBijlage = Left(strBijlage, Len(strBijlage) - 4) & "_" & x & Right(strBijlage, 4)
test = fFileBestaat(strDoelmap & strBijlage)
Loop
'MsgBox test & vbCr & strBijlage
oAttach.Item(i).SaveAsFile strDoelmap & strBijlage
Next i
For i = 1 To iTeller
oAttach.Remove 1
Next i
MailItem.Body = MailItem.Body & vbCrLf & "<<< De volgende bestanden zijn verwijderd:" & sFiles & " >>>"
MailItem.Save
End If
End If
Next
End Sub
Door de regel
Code:
MailItem.Body = MailItem.Body & vbCrLf & "<<< De volgende bestanden zijn verwijderd:" & sFiles & " >>>"
Alvast bedankt
Laatst bewerkt: