Textschnipsel in Email-Text an bestimmter Stelle einfügen

Ryan1991

Grünschnabel
Hay, ich bins ma wieder ;D

Ich hoffe mir kann jemand helfen,
ich habe folgendes Problem...

Ich habe mit Hilfe ein Macro zusammengeklickt, das mir eine Datei anfügt und "Anhang: <Dateiname> in den Email Body schreibt.
Das ist ja schonmal nicht schlecht, aber ich habe zusätzlich eine Signatur drin, die bei Erstellung einer neuen Email immer schon in den Body geschrieben wird.

Das Macro überschreibt dann alles und fügt: Anhang: <Dateiname> ein.

Jetzt meine Frage, ist es möglich, das dieser Textschnipsel eingefügt wird, ohne das meine Signatur und alles, vor dem anfügen einer Datei geschrieben wurde, gelöscht wird?!
Bestenfalls sollte dieser Textschnipsel 2 Zeilen über der Signatur stehen

Code:
 Public Sub MyAttach()

Dim text As String
Dim text2 As String

    Set myItem = Outlook.ActiveInspector.CurrentItem
    Set myAttachments = myItem.Attachments
    myfile = MyOpenFiledialog()
    
    ' Falls Auf X (schließen) oder Abbrechen geklickt wird!!
        If myfile = "" Then
        Else
    
    myAttachments.Add myfile
'------------------------------------------------------------------------------------
    myItem.Body = "Anhang: " & myfile



'------------------------------------------------------------------------------------
    myItem.Display


End If
End Sub
(die Funktion "MyOpenFiledialog()" muss ich nicht mitposten oder?!)

Ich hoffe mir kann jemand weiterhelfen
MfG
Ryan1991
 
Grundsätzlich kannst du ja auch mit myItem.Body auf den Text zugreifen. Du müsstest halt normale Textbearbeitung machen um den Text zwischendrin einzufügen. Beispiel für am Ende einfügen:
Code:
myItem.Body = myItem.Body & Chr(10) & "Anhang: " & myfile
Eine Möglichkeit für die Cursor-Position ist mir selbst nicht bekannt, was aber nicht heißt, dass es nicht möglich ist :)
Ansonsten könnte eine Variante etwa so aussehen, allerdings gehen hier sämtliche Formatiierungen verloren:
Code:
Lines = Split(Mail.Body, Chr(10))
    
    For Each CurrentLine In Lines
        If InStr(1, CurrentLine, "Mit freundlichen Grüßen") Then
            MailText = MailText & "Anhang: " & "Test" & Chr(10) & Chr(10)
        End If
        MailText = MailText & CurrentLine & Chr(10)
    Next CurrentLine
    
    Mail.Body = MailText
 

Neue Beiträge

Zurück