Tipp: Andere Sprachen sind Google-Übersetzungen. Sie können die English Version dieses Links.
Einloggen
x
or
x
x
Registrieren
x

or

Wie füge ich eine Signatur in Outlook-E-Mails ein, wenn sie per VBA in Excel gesendet werden?

Wenn Sie E-Mail senden, indem Sie VBA-Code in Excel ausführen, wird die Outlook-Signatur nicht automatisch im Nachrichtentext angezeigt. Dieser Artikel beschreibt das Senden von E-Mails mit Outlook-Signatur, die im E-Mail-Nachrichtentext mit VBA-Code in Excel angezeigt werden.

Fügen Sie beim Senden per Excel VBA eine Signatur in Outlook-E-Mails ein


Einfaches Senden von E-Mails über Outlook basierend auf der erstellten Mailingliste:

Die E-Mails senden Dienstprogramm von Kutools für Excel hilft Benutzern beim Senden von E-Mails über Outlook basierend auf erstellten Mailing-Liste in Excel. Siehe Screenshot:

Kutools for Excel enthält mehr als 300 praktische Excel-Tools. Kostenlos zu testen, ohne Einschränkung in 60 Tagen. Laden Sie jetzt die kostenlose Testversion herunter

Registerkarte "Office" Aktivieren Sie das Bearbeiten und Durchsuchen von Registerkarten in Office und vereinfachen Sie Ihre Arbeit erheblich ...
Kutools for Excel löst die meisten Ihrer Probleme und steigert Ihre Produktivität um 80%
  • Alles wiederverwenden: Fügen Sie die am häufigsten verwendeten oder komplexesten Formeln, Diagramme und andere Elemente zu Ihren Favoriten hinzu und verwenden Sie sie in Zukunft schnell wieder.
  • Mehr als 20-Textfunktionen: Extrahieren Sie die Nummer aus der Textzeichenfolge. Teile von Texten extrahieren oder entfernen; Zahlen und Währungen in englische Wörter umrechnen ...
  • Tools zusammenführen: Mehrere Arbeitsmappen und Blätter in einer; Mehrere Zellen / Zeilen / Spalten zusammenführen, ohne Daten zu verlieren; Doppelte Zeilen und Summe zusammenführen ...
  • Geteilte Werkzeuge: Aufteilen von Daten in mehrere Blätter basierend auf dem Wert; Eine Arbeitsmappe in mehrere Excel-, PDF- oder CSV-Dateien; Eine Spalte zu mehreren Spalten ...
  • Einfügen überspringen Versteckte / Gefilterte Zeilen; Zählung und Summe nach Hintergrundfarbe; Mailingliste erstellen und Senden Sie E-Mails nach dem Wert von Cell...
  • Super Filter: Erstellen Sie erweiterte Filterschemata und wenden Sie diese auf alle Blätter an. Art nach Woche, Tag, Häufigkeit und mehr; Filtern durch Fettdruck, Formeln, Kommentar ...
  • Mehr als 300 leistungsstarke Funktionen; Funktioniert mit Office 2007-2019 und 365; Unterstützt alle Sprachen; Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation.

Fügen Sie beim Senden per Excel VBA eine Signatur in Outlook-E-Mails ein


Angenommen, Sie müssen E-Mails an eine Liste von E-Mail-Adressen senden, einschließlich der Outlook-Signatur in allen sendenden E-Mails. Bitte wie folgt vorgehen.

1. Bitte ersetzen Sie die .Body-Zeile unter VBA 2 durch den Code in VBA 1. Bewegen Sie in der VBA 2 die .Anzeige richten Sie sich aus, bis es unter der Mit xMailOut Linie.

VBA 1: Vorlage zum Senden einer E-Mail mit Unterschrift in Excel

.HTMLBody = "This is a test email sending in Excel" & "<br>" & .HTMLBody

VBA 2: Senden Sie eine E-Mail an E-Mail-Adressen, die in Zellen in Excel angegeben sind

Sub SendEmailToAddressInCells()
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select email address range", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
    For Each xRgEach In xRg
        xRgVal = xRgEach.Value
        If xRgVal Like "?*@?*.?*" Then
            Set xMailOut = xOutApp.CreateItem(olMailItem)
            With xMailOut
                .To = xRgVal
                .Subject = "Test"
                .Body = "Dear " _
                      & vbNewLine & vbNewLine & _
                        "This is a test email " & _
                        "sending in Excel"
                .Display
                '.Send
            End With
        End If
    Next
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Der folgende Screenshot kann Ihnen helfen, die Unterschiede nach dem Ändern des VBA-Codes zu finden.

Nach dem Ausführen des VBA-Codes können Sie sehen, dass die Standard-Outlook-Signatur automatisch in den Körper der erstellten E-Mails eingefügt wird, wie im Screenshot gezeigt.


In Verbindung stehende Artikel:


Kutools for Excel löst die meisten Ihrer Probleme und steigert Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einlegen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formula Bar (Bearbeiten Sie mühelos mehrere Textzeilen und Formeln); Layout lesen (Leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt der Zellen teilen; Kombinieren Sie doppelte Zeilen / Spalten... Doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie "Duplizieren" oder "Eindeutig" Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufallsauswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen auf mehrere Blätter; Bullets einfügen, Kontrollkästchen und mehr ...
  • Extract Text, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen; Erstellen und Drucken von Paging-Zwischensummen; Zwischen Zelleninhalt und Kommentaren konvertieren...
  • Superfilter (Speichere und wende Filterschemata auf andere Blätter an); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Arbeitsmappen und Arbeitsblätter kombinieren; Zusammenführen von Tabellen basierend auf Schlüsselspalten; Daten in mehrere Blätter aufteilen; Stapelkonvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2019 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. Kostenlose 30-Testversion für alle Funktionen.
Registerkarte Tab 201905

Registerkarte "Office" Bringt die Benutzeroberfläche mit Registerkarten in Office und vereinfacht Ihre Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50% und reduziert täglich Hunderte von Mausklicks für Sie!
officetab unten
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    fady · 1 months ago
    Dear,
    Can someone help me with my VBA,
    I need the signature in the email created:
  • To post as a guest, your comment is unpublished.
    Bara · 4 months ago
    Hi, I would need help with my macro, I need to insert the Outlook signature under the table, could you help me with that?

    Private Sub CommandButton1_Click()


    Dim outlook As Object
    Dim newEmail As Object
    Dim xInspect As Object
    Dim pageEditor As Object

    Set outlook = CreateObject("Outlook.Application")
    Set newEmail = outlook.CreateItem(0)

    With newEmail
    .To = Sheet5.Range("F1")
    .CC = ""
    .BCC = ""
    .Subject = Sheet5.Range("B5")
    .Body = Sheet5.Range("B41")
    .display

    Set xInspect = newEmail.GetInspector
    Set pageEditor = xInspect.WordEditor

    Sheet5.Range("B6:I7").Copy

    pageEditor.Application.Selection.Start = Len(.Body)
    pageEditor.Application.Selection.End = pageEditor.Application.Selection.Start
    pageEditor.Application.Selection.PasteAndFormat (wdFormatPlainText)

    .display
    Set pageEditor = Nothing
    Set xInspect = Nothing
    End With

    Set newEmail = Nothing
    Set outlook = Nothing

    End Sub
    • To post as a guest, your comment is unpublished.
      crystal · 3 months ago
      Hi Bara,
      Sorry can't help you with that. Thanks for your comment.
  • To post as a guest, your comment is unpublished.
    Kasun · 6 months ago
    Thanks a lot...
  • To post as a guest, your comment is unpublished.
    Prakash · 10 months ago
    Superb!!!!
  • To post as a guest, your comment is unpublished.
    Michael · 1 years ago
    I'm having trouble running this on excel 2016. I get a "Compile Error: User Defined Type Not Defined" message. Please help!
  • To post as a guest, your comment is unpublished.
    Maggie · 1 years ago
    If my body text is linked to pull from excel fields, the use of & .HTMLBody at the end of the string erases all of the body text and just leaves the signature.
  • To post as a guest, your comment is unpublished.
    viraj Shirsat · 1 years ago
    how to add signature if the macro is used by multiple user.
    for eg my macro will be run by 3 other persons as well. So how can the macro use the signature of the user who is running the macro.
    thanks in advance
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good Day,
      The VBA code can automatically recognize the default signature in the Outlook of the sender, and send email with his own signature through Outlook.
  • To post as a guest, your comment is unpublished.
    kostika koruni · 1 years ago
    i am trying to add the outlook signature titled "default" but cannot seem that it works.
    can you please help? I believe that my "xMailout" logic is wrong. this is my suspected faulty area.

    Private Sub CommandButton1_Click()

    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xMailBody As String
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xMailBody = "Greetings:" & vbNewLine & vbNewLine & _
    "This is line 1" & vbNewLine & _
    "This is line 2" & vbNewLine & _
    "This is line 3" & vbNewLine & _
    "This is line 4"
    On Error Resume Next
    With xOutMail
    .To = "Email.here.com"
    .CC = "Email.here.com"
    .Subject = "Email Title Here - " & Range("Cell#").value
    .Body = xMailBody
    . Attachments.Add ActiveWorkbook.FullName
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
    .Display
    End With
    ActiveWorkbook.Save
    On Error GoTo 0
    Set xOutMail = Nothing
    Set xOutApp = Nothing
    End Sub
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good day,
      You script has been modified, please have try. Thank you.

      Private Sub CommandButton1_Click()
      Dim xOutApp As Object
      Dim xOutMail As Object
      Dim xMailBody As String
      Dim xMailOut As Outlook.MailItem
      On Error Resume Next
      Set xOutApp = CreateObject("Outlook.Application")
      Set xOutMail = xOutApp.CreateItem(0)
      xMailBody = "Greetings:" & vbNewLine & vbNewLine & _
      "This is line 1" & vbNewLine & _
      "This is line 2" & vbNewLine & _
      "This is line 3" & vbNewLine & _
      "This is line 4"
      On Error Resume Next
      With xOutMail
      .To = "Email.here.com"
      .CC = "Email.here.com"
      .Subject = "Email Title Here - " & Range("Cell#").Value
      .Body = xMailBody
      .Attachments.Add ActiveWorkbook.FullName
      Set xMailOut = xOutApp.CreateItem(olMailItem)
      With xMailOut
      .Display
      End With
      End With
      ActiveWorkbook.Save
      On Error GoTo 0
      Set xOutMail = Nothing
      Set xOutApp = Nothing
      End Sub
  • To post as a guest, your comment is unpublished.
    Chris · 1 years ago
    doesnt work with attachments in Office 2016
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Dear Chris,
      The below VBA code can help you. After running the code, please select cells containing email addresses you will send emails to, and then select the files you need to attach in the email as attachments when the second dialog box pops up. And the default Outlook signature will be displayed in the email body as well. Thank you for your comment.

      Sub SendEmailToAddressInCells()
      Dim xRg As Range
      Dim xRgEach As Range
      Dim xRgVal As String
      Dim xAddress As String
      Dim xOutApp As Outlook.Application
      Dim xMailOut As Outlook.MailItem
      On Error Resume Next
      xAddress = ActiveWindow.RangeSelection.Address
      Set xRg = Application.InputBox("Please select email address range", "KuTools For Excel", xAddress, , , , , 8)
      If xRg Is Nothing Then Exit Sub
      Application.ScreenUpdating = False
      Set xOutApp = CreateObject("Outlook.Application")
      Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
      Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
      If xFileDlg.Show = -1 Then
      For Each xRgEach In xRg
      xRgVal = xRgEach.Value
      If xRgVal Like "?*@?*.?*" Then
      Set xMailOut = xOutApp.CreateItem(olMailItem)
      With xMailOut
      .Display
      .To = xRgVal
      .Subject = "Test"
      .HTMLBody = "This is a test email sending in Excel" & "
      " & .HTMLBody
      For Each xFileDlgItem In xFileDlg.SelectedItems
      .Attachments.Add xFileDlgItem
      Next xFileDlgItem
      '.Send
      End With
      End If
      Next
      Set xMailOut = Nothing
      Set xOutApp = Nothing
      Application.ScreenUpdating = True
      End If
      End Sub
  • To post as a guest, your comment is unpublished.
    Favio · 1 years ago
    thank u very much, u save my life with this template :D