Andere Unterschrift in einer aus Excel generierten Email einfügen

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von INOPIAE.

    Andere Unterschrift in einer aus Excel generierten Email einfügen

    Hallo zusammen,

    ich benutze einen in Excel/VB erstellten Bestellkatalog. Dieser wird dann nach dem Befüllen mittels Absenden-Button als Email generiert.
    Nun würde ich gerne die vorhandene erzeugte Unterschrift in der Email gegen meine existierende Signatur aus Outlook austauschen.
    Nun da komme ich nicht weiter und geht das überhaupt. Bis jetzt habe ich keine Lösung gefunden.

    Der vorhandene Code ist:

    Quellcode

    1. Private Function CreateOrder()
    2. Dim sBody As String
    3. Dim r As Range
    4. Dim fr As Integer
    5. Dim sm As String
    6. Dim sUnterschrift As String
    7. sUnterschrift = "<b>" & Environ("USERNAME") & " (" & Environ("Computername") & ")</b> - " & Now()​


    und wird dann später im Code mit:

    Quellcode

    1. sBody = sBody & "Guten Tag, " & "<br>"
    2. sBody = sBody & "als Anhang erhalten Sie unsere Monatsbestellung zur weiteren Bearbeitung." & "<br>"
    3. sBody = sBody & "Mit freundlichen Grüßen, " & sUnterschrift & "<br>"​


    übergeben.

    Was dann in der Mail so aussieht:



    Es soll aber eben so aussehen:



    Schönen Abend und wäre super wenn´s da eine Lösung gäbe

    Gruß Richy
    Willkommen im Forum.

    Hol Dir doch die HTML-Version der Mail aus der Sollwert-Outlook-Mail und übernehm diesen Text in Dein Programm.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ach, Profi. Das sind hier die wenigsten. Ich sicher nicht.
    Du bastelst Dir die Mail in Outlook, wie Du sie haben willst. Dann Menü Datei -> Speichern unter … -> z.B. auf Desktop speichern. Speicher die Mail als HTML-Datei. Dann öffne die Datei mit Editor/notepad und ganz unten hast Du dann den MailBody als pur-Text.



    Ergibt in der HTML-Datei:

    HTML-Quellcode

    1. <p class=MsoNormal>Foo<o:p></o:p></p>
    2. <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    3. <p class=MsoNormal><b><span style='font-family:Algerian;color:red'>Bar<o:p></o:p></span></b></p>
    4. <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    5. <p class=MsoNormal align=center style='text-align:center'><i><span
    6. style='font-size:48.0pt'>Baz<o:p></o:p></span></i></p>

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Neu

    Hi,

    Du willst die Outlook-Signatur des Nutzers verwenden?
    Dann musst Du zuerst die neue Mail mit .Display anzeigen, dann dem .HTMLBody auslesen und entsprechend anpassen und anschließend wieder einfügen. Dabei muss die Anpassung mit HTML gemacht werden.

    Hier mal ein nicht fertiger Code:

    Visual Basic-Quellcode

    1. Dim olApp As Outlook.Application
    2. Dim olMail As Outlook.MailItem
    3. Dim HTMLText As String
    4. Set olApp = GetObject(, "Outlook.Application")
    5. Set olMail = olApp.CreateItem(olMailItem)
    6. With olMail
    7. .To = "D"
    8. .subject = "BLA"
    9. .Display
    10. HTMLText = .HTMLBody
    11. 'Hier die Anpassung von HTMLText
    12. .HTMLBody = HTMLText
    13. End With
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).