Email Signatur automatisch in mit Excel VBA erstellte Mail einfügen

  • Excel

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Achilleus.

    Email Signatur automatisch in mit Excel VBA erstellte Mail einfügen

    Hallo zusammen,

    wir haben uns in der Arbeit ein Makro zusammengebastelt um automatisch eine Mail direkt aus Excel zu versenden.
    Jetzt wollen wir außerdem die Outlook Signatur automatisch in der Mail haben, da sich diese z.B. auch bei neuen Vorständen der Firma ändert. Also nicht einfach per copy paste den Text der Signatur sondern die aktuelle Signatur die in Outlook gespeichert ist.
    Dazu habe ich bereits einige Forenbeiträge gelesen, wir haben es jedoch nicht hinbekommen es zum laufen zu bringen da wir ehrlich gesagt kaum IT Kenntnisse haben.

    Kann mir jemand helfen mein aktuelles Makro so zu ergänzen, dass automatisch meine Outlook Signatur angehängt wird.
    Vielen Dank im Voraus und Liebe Grüße
    Bilder
    • Makro.png

      27,13 kB, 1.451×426, 995 mal angesehen
    Hallo
    Falls Outlook beim erstellen einer neuen Mail automatisch die Signatur einfügt, geht das so.
    stackoverflow.com/a/12990825

    Visual Basic-Quellcode

    1. Dim OlApp As Object 'Outlook.Application
    2. Dim ObjMail As Object 'Outlook.MailItem
    3. Set OlApp = CreateObject("Outlook.Application")
    4. Set ObjMail = OlApp.CreateItem(0)
    5. With ObjMail
    6. .To = strTo
    7. .Subject = strSubject
    8. .Display
    9. 'You now have the default signature within ObjMail.Body.
    10. 'Add this after adding strBody
    11. .Body = strBody & .Body
    12. .Attachements.Add objAttachement
    13. End With

    Visual Basic-Quellcode

    1. ption Private Module
    2. Option Explicit
    3. Public Sub EinfacheMailMitAnhang()
    4. Dim olApp As Object
    5. Dim AWS As String
    6. Dim olOldbody As String
    7. ActiveWorkbook.Save
    8. AWS = ActiveWorkbook.FullName
    9. Set olApp = CreateObject("Outlook.Application")
    10. With olApp.CreateItem(0)
    11. .GetInspector.Display
    12. olOldbody = .htmlBody
    13. .To = "testserver.de"
    14. .Subject = "Test"
    15. .htmlBody = "Hallo!<br><br>Anbei gewünschte Informationen.<br><br>" & _
    16. "Ihre Auftragsnummer lautet " & Range("A1") & _
    17. "<br><br>Gruß,<br>Max<br><br>" & olOldbody
    18. .Attachments.Add AWS
    19. End With
    20. End Sub
    Die Signaturen von Outlook werden in "%Appdata%\Microsoft\Signatures" unter ihren Namen gespeichert.

    Dort findest du zum Beispiel auch eine html-Datei. Diese Datei musst du nur mittels FileStream einlesen und in deinen htmlBody schreiben. dann sollte das deine gewünschte Signatur sein.

    Und da du die Signaturen anlegen und unter anderen Namen abspeichern kannst, kannst du sie dynamisch je nach Bedarf auch auswählen
    Hallo dagoni,

    in diesem Beitrag wird das Thema Outlook-Sigantur besprochen:

    E-Mail Versand mit Outlook-Signatur

    VB.NET-Quellcode

    1. Public Function GetSignatur(sSignaturName As String) As String
    2. Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\Microsoft\Signatures\"
    3. Dim fileReader As System.IO.StreamReader
    4. fileReader = My.Computer.FileSystem.OpenTextFileReader(IO.Path.Combine(sPath, sSignaturName))
    5. Dim stringReader As String
    6. stringReader = fileReader.ReadToEnd
    7. GetSignatur = stringReader
    8. End Function


    Damit kann ich meine Signatur nun auslesen und einfügen. Allerdings verwende ich keine Bilder, dafür müsste die Lösung aus meinem Link funktionieren, da die Signatur kopiert wird.

    Gruß Achilleus