Skip to main content

Hoe kun je automatisch de handtekening wijzigen op basis van ontvangers in Outlook?

Author: Siluvia Last Modified: 2025-05-29

Standaard heeft Outlook een ingebouwde functie waarmee gebruikers automatisch de handtekening kunnen wijzigen bij het verzenden van e-mails via verschillende e-mailaccounts. Maar daarnaast zal ik je hier een methode laten zien om automatisch de handtekening te wijzigen op basis van verschillende ontvangers in het 'Aan'-veld in Outlook.

Handtekening automatisch wijzigen op basis van ontvangers met VBA-code


Handtekening automatisch wijzigen op basis van ontvangers met VBA-code

Volg de onderstaande stappen om verschillende handtekeningen toe te passen aan de bijbehorende ontvangers bij het verzenden van e-mails in Outlook.

1. Ten eerste moet je de functie voor automatisch toevoegen van handtekeningen in Outlook uitschakelen. Klik op Bestand > Opties om het venster Outlook Opties te openen.

2. In het venster Outlook Opties, selecteer Mail in het linkerpaneel, klik dan op de knop Handtekeningen in de sectie Berichten opstellen. Zie screenshot:

using vba to change signature based on recipients automatically with code

3. Ga in het Handtekeningen en Briefpapier dialoogvenster naar de Standaardhandtekening kiezen sectie onder het E-mailhandtekening tabblad, selecteer een e-mailaccount in de E-mailaccount vervolgkeuzelijst, en kies (geen) in de Nieuwe berichten en Antwoorden/doorsturen vervolgkeuzelijsten. Herhaal deze stappen totdat alle e-mailaccounts zijn ingesteld op (geen). Klik dan op de OK knop.

using vba to change signature based on recipients automatically with VBA code

Opmerking: Je kunt ook je benodigde handtekeningen maken in dit dialoogvenster Handtekeningen en Briefpapier.

4. Klik op de knop OK wanneer je terugkeert naar het venster Outlook Opties.

5. Druk op de toetsen Alt + F11 om het venster Microsoft Visual Basic for Applications te openen.

6. Dubbelklik in het venster Microsoft Visual Basic for Applications op ThisOutlookSession in het linkerpaneel om het Code-venster te openen, en kopieer de onderstaande VBA-code in het venster. Zie screenshot:

using vba to change signature based on recipients automatically with VBA code

VBA-code: Automatisch handtekening wijzigen op basis van ontvangers in Outlook

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'Updated by ExtendOffice 2022/08/01
Dim xMailItem As MailItem
Dim xRecipients As Recipients
Dim xRecipient As Recipient
Dim xRcpAddress As String
Dim xSignatureFile, xSignaturePath As String
Dim xFSO As Scripting.FileSystemObject
Dim xDoc As Document
Dim xFindStr As String
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
If Item.Class <> olMail Then Exit Sub
Set xMailItem = Item
Set xRecipients = xMailItem.Recipients
xSignaturePath = CreateObject("WScript.Shell").SpecialFolders(5) + "\Microsoft\Signatures\"
For Each xRecipient In xRecipients
    If xRecipient.AddressEntry.AddressEntryUserType = olExchangeUserAddressEntry Then
        xRcpAddress = xRecipient.AddressEntry.GetExchangeUser.PrimarySmtpAddress
    Else
        xRcpAddress = xRecipient.AddressEntry.Address
    End If
    Select Case xRcpAddress
        Case "Email Address 1"
            xSignatureFile = xSignaturePath & "aaa.htm"
            Exit For
        Case "Email Address 2", "Email Address 3"
            xSignatureFile = xSignaturePath & "bbb.htm"
            Exit For
        Case "Email Address 4"
            xSignatureFile = xSignaturePath & "ccc.htm"
            Exit For
    End Select
Next
VBA.DoEvents
Set xDoc = xMailItem.GetInspector.WordEditor
xFindStr = "From: " & xMailItem.Recipients.Item(1).Name & " <" & xRcpAddress & ">"
If VBA.InStr(1, xMailItem.Body, xFindStr) <> 0 Then
    xDoc.Application.Selection.HomeKey Unit:=wdStory, Extend:=wdMove
    With xDoc.Application.Selection.Find
        .ClearFormatting
        .Text = xFindStr
        .Execute Forward:=True
    End With
    With xDoc.Application.Selection
        .MoveLeft wdCharacter, 2
        .InsertParagraphAfter
        .MoveDown Unit:=wdLine, Count:=1
    End With
Else
    With xDoc.Application.Selection
        .EndKey Unit:=wdStory, Extend:=wdMove
        .InsertParagraphAfter
        .MoveDown Unit:=wdLine, Count:=1
    End With
End If
xDoc.Application.Selection.InsertFile FileName:=xSignatureFile, Link:=False, Attachment:=False
End Sub

Opmerkingen:

  • 1). Vervang in de VBA-code "E-mailadres 1/2/3/4" door de specifieke e-mailadressen van de ontvangers.
  • 2). "aaa.htm", "bbb.htm" en "ccc.htm" zijn de gespecificeerde handtekeningen die je naar de bijbehorende ontvangers stuurt.
  • 3). In dit geval wordt handtekening "aaa" naar "E-mailadres 1" gestuurd, handtekening "bbb" naar "E-mailadres 2" en "E-mailadres 3", en "E-mailadres 4" ontvangt de e-mail met handtekening "ccc". Pas ze aan op basis van je behoeften.
  • 4). Als er meerdere ontvangers in een e-mail staan, houdt de code alleen de eerste ontvanger in overweging. In dit geval ontvangen andere ontvangers de e-mails met dezelfde handtekening als de eerste ontvanger.

7. Klik dan op Tools > Referenties om naar het dialoogvenster Referenties-Project te gaan. Schakel in het dialoogvenster zowel de Microsoft Word Object Library als de  Microsoft Scripting Runtime-opties in, en klik dan op de knop OK, zie screenshot:

using vba to change signature based on recipients automatically with VBA code

8. Druk op de toetsen Alt + Q om het venster Microsoft Visual Basic for Applications te sluiten.

Vanaf nu zal na het opstellen van een e-mail en het klikken op de knop Verzenden, de bijbehorende handtekening automatisch worden ingevoegd aan het einde van de e-mailtekst op basis van het e-mailadres van de ontvanger in het 'Aan'-veld.


Automatisch de huidige datum invoegen als handtekening bij het verzenden van e-mail in Outlook:

Als je tijdens het maken/beantwoorden/doorsturen van nieuwe e-mails in je Outlook een tijdstempel wilt invoegen als handtekening in de e-mailtekst, kun je de Datumhandtekening toevoegen bij het maken, beantwoorden en doorsturen van e-mails optie van Kutools voor Outlook inschakelen om dit te bereiken. Zie screenshot:
Download en probeer het nu (30-daagse gratis proefversie)

using vba to change signature based on recipients automatically with VBA code


Beste productiviteitstools voor Office

Breaking News: Kutools voor Outlook lanceert gratis versie!

Ervaar de geheel nieuwe gratis versie van Kutools voor Outlook met meer dan70 geweldige functies, voor altijd gratis te gebruiken! Klik om nu te downloaden!

🤖 Kutools AI : Maakt gebruik van geavanceerde AI-technologie om e-mails moeiteloos te verwerken, waaronder beantwoorden, samenvatten, optimaliseren, uitbreiden, vertalen en opstellen van e-mails.

📧 E-mailautomatisering: Automatisch antwoorden (beschikbaar voor POP en IMAP) / E-mails verzenden volgens schema / Automatisch CC/BCC op basis van regels bij het verzenden van e-mails / Automatisch doorsturen (Geavanceerde regels) / Automatisch begroeting toevoegen / E-mails met meerdere ontvangers automatisch splitsen naar individuele berichten ...

📨 E-mailbeheer: E-mail terughalen / Scam-e-mails blokkeren op onderwerp en andere criteria / Dubbele e-mails verwijderen / Geavanceerd Zoeken / Organiseer mappen ...

📁 Bijlagen Pro: Batch opslaan / Batch loskoppelen / Batch comprimeren / Automatisch opslaan / Automatisch loskoppelen / Automatisch comprimeren ...

🌟 Interface Magic: 😊Meer mooie en coole emoji's / Herinnering bij belangrijke e-mails / Minimaliseer Outlook in plaats van afsluiten ...

👍 One-click Wonders: Antwoord Allen met Bijlagen / Anti-phishing e-mails / 🕘Toon tijdzone van afzender ...

👩🏼‍🤝‍👩🏻 Contacten & Agenda: Batch contact toevoegen vanuit geselecteerde e-mails / Een contactgroep splitsen naar individuele groepen / Verjaardagsherinnering verwijderen ...

Ontgrendel direct Kutools voor Outlook met één klik. Wacht niet langer, download nu en verhoog je efficiëntie!

kutools for outlook features1 kutools for outlook features2