Skip to main content

Excel-handleiding – E-mails verzenden vanuit Excel

Author: Siluvia Last Modified: 2025-05-29

Normaal gesproken gebruiken we e-mailclients zoals Outlook, Gmail, enzovoort om e-mails te verzenden. Veel mensen slaan echter gegevens op in Excel-werkboeken en willen tijdens het werken deze gegevens direct met anderen delen. Daarom is het handig om e-mails rechtstreeks vanuit een Excel-werkboek te versturen, zodat u tijd bespaart doordat u geen aparte e-mailclient hoeft te openen. In deze stapsgewijze handleiding laten we zien hoe u onder verschillende omstandigheden e-mails vanuit Excel kunt verzenden.

Opmerking: Voordat u de onderstaande methoden toepast, moet u een Outlook-e-mailclient op uw computer configureren en deze instellen als uw standaard e-mailclient.

Inhoudsopgave: [ Verbergen ]

(Klik op een kop in de onderstaande of rechter inhoudsopgave om naar het betreffende hoofdstuk te gaan.)

1. De basisprincipes van e-mails verzenden vanuit Excel

In deze sectie worden de basisprincipes van het verzenden van e-mails vanuit Excel uitgelegd.

1.1 E-mails verzenden vanuit Excel met ingebouwde Excel-functies

Als u alleen eenvoudige e-mails vanuit Excel wilt verzenden, met alleen de velden Aan, Onderwerp, Cc en berichttekst, kunnen de ingebouwde functies van Excel u hierbij helpen.


1.1.1 E-mail verzenden vanuit Excel met behulp van een formule

Zoals in de onderstaande tabel te zien is, kunt u verschillende e-mails vanuit Excel verzenden op basis van de opgegeven velden door celverwijzingen te gebruiken om verschillende Hyperlink-formules te maken. Nadat u de e-mailhyperlinks heeft aangemaakt, kunt u op de gewenste hyperlink klikken om automatisch een e-mail te verzenden.

Opmerking: Als er meer dan één ontvanger in de velden Aan of Cc staat, scheid deze dan met puntkomma's.

Deze sectie is opgedeeld in vier delen om u de stappen te tonen voor het afzonderlijk toevoegen van e-mailadres, Cc-ontvanger(s), onderwerpregel en berichttekst aan de Hyperlink-formule. Volg de onderstaande stappen.

De syntaxis en argumenten van de functie "HYPERLINK" zijn als volgt.

Syntaxis

HYPERLINK(link_location, [friendly_name])

Argumenten

"Link_location" (verplicht): Het pad en de bestandsnaam van het te openen document;
Tips: In deze handleiding moeten alle velden die we voor een e-mail nodig hebben, zoals het e-mailadres van de ontvanger, de Cc-ontvanger(s), de onderwerpregel en de berichttekst, in het eerste argument "link_location" worden geplaatst.
"Friendly_name" (optioneel): De waarde die in de cel wordt weergegeven als hyperlink.

1.1.1.1 E-mailadres toevoegen aan Hyperlink-formule

Hier gebruiken we "mailto:" als onderdeel van de formule om een e-mailontvanger toe te voegen. In dit voorbeeld staat het e-mailadres van de eerste ontvanger in cel B2, dus we voegen "mailto:" toe en verwijzen naar cel B2.

“mailto:”&B2

1. Selecteer een cel waarin u de hyperlink wilt weergeven. In dit geval kies ik cel F2.

2. Voer vervolgens de volgende formule in deze cel in.

=HYPERLINK("mailto:"&B2)

Opmerking: Als u op de "Enter"-toets drukt, wordt er een hyperlink aangemaakt zoals in de onderstaande schermafbeelding. Wanneer u op de link klikt, wordt er een Outlook-e-mail aangemaakt en wordt het e-mailadres van de ontvanger automatisch ingevuld in het veld Aan.

Het e-mailadres van de ontvanger is nu toegevoegd aan de Hyperlink-formule. Ga verder met de volgende stappen om de onderwerpregel, Cc-ontvanger(s) en berichttekst toe te voegen zoals u wenst.


1.1.1.2 Cc-ontvanger(s) toevoegen aan Hyperlink-formule

Om de Cc-ontvanger(s) toe te voegen aan de Hyperlink-functie, voegt u "?cc=" toe als onderdeel van de formule zoals hieronder.

"?cc=" & C2
waarbij C2 het e-mailadres van de cc-ontvanger bevat.

De formule in cel F2 moet er nu als volgt uitzien:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2)


1.1.1.3 Onderwerpregel toevoegen aan Hyperlink-formule

Om de onderwerpregel toe te voegen aan de Hyperlink-functie, voegt u "&subject=" toe als onderdeel van de formule zoals hieronder.

"&subject="& D2
waarbij D2 het e-mailonderwerp bevat.

De formule in cel F2 ziet er nu als volgt uit:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2)


1.1.1.4 Berichttekst met regeleinden toevoegen aan Hyperlink-formule

De laatste stap is het toevoegen van de berichttekst aan de Hyperlink-formule. Zoals u in het voorbeeld ziet, zijn er twee regels tekst in E2, gescheiden door een regeleinde, en u wilt het regeleinde behouden in het e-mailbericht. Herkent Outlook het regeleinde in deze situatie? Laten we het controleren.

Om de berichttekst toe te voegen aan de Hyperlink-formule, voegt u “&body=" toe als onderdeel van de formule zoals hieronder.

"&body="& E2
waarbij E2 de berichttekst van de e-mail bevat.

De formule in cel F2 wordt nu als volgt weergegeven:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2)

Opmerking: Als u op de "Enter"-toets drukt en op de link klikt, ziet u in de nieuwe e-mail dat de inhoud van het e-mailbericht op dezelfde regel wordt weergegeven.

Om de berichttekst in aparte regels weer te geven, moet u de celinhoud aanpassen door de regeleindekaraktercode "%0A" toe te voegen op de plaats waar u een regeleinde wilt invoegen. Zie schermafbeelding:


1.1.1.5 De weer te geven tekst voor de hyperlink opgeven

In de bovenstaande stappen hebben we het argument Link_location ingevuld met e-mailvelden. In deze sectie gaan we het volgende argument [friendly_name] invullen.

In dit geval wil ik dat de hyperlinkcel de tekst "E-mail naar xx" weergeeft, waarbij xx de naam van de ontvanger in A2 is. De formule in F2 moet dus worden aangepast naar:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2, "Email to "&A2)

Druk op de "Enter"-toets om het resultaat te krijgen.

Selecteer deze formulecel en sleep de "AutoFill-hendel" naar beneden om andere e-mailhyperlinks te maken. Zie schermafbeelding:


1.1.2 E-mail verzenden vanuit Excel met de Hyperlink-functie

Naast het gebruik van de bovenstaande Hyperlink-formule kunt u ook handmatig een e-mailhyperlink maken met de functie "Hyperlink invoegen" in Excel. In deze sectie laten we de stappen zien.

1. Klik met de rechtermuisknop op een e-mail waar u een hyperlink wilt invoegen en kies "Koppeling" in het contextmenu.

2. In het pop-upvenster "Hyperlink invoegen" moet u het volgende instellen.

2.1) Kies "E-mailadres" in het linkerpaneel.
2.2) Typ in het tekstvak "Tekst om weer te geven" de tekst die u in de cel wilt tonen;
Tips: U kunt in dit dialoogvenster geen celverwijzingen gebruiken, dus u moet de e-mailvelden handmatig invoeren zoals hieronder.
2.3) Typ in het tekstvak "E-mailadres" de volgende e-mailadressen.
mailto:e-mailadres
Vervang de tekst "e-mailadres" door uw echte e-mailadres. Als u meerdere e-mailadressen heeft, scheid deze dan met een puntkomma.
2.4) In het tekstvak "Onderwerp" kunt u hier direct het onderwerp en de berichttekst van uw e-mail opgeven. Stel het als volgt in:
E-mailonderwerp&body=E-mailbericht
In dit geval typ ik "Maandelijkse verkoop&body=Hallo,%0AEmail ontvangen".
waarbij het onderwerp Maandelijkse verkoop is;
en
de e-mailtekst is:
Hallo,
E-mail ontvangen. ("%0A" is de regeleindekaraktercode die door Outlook wordt herkend)
2.5) Klik op de knop "OK" om de hyperlink op te slaan. Zie schermafbeelding:

Wanneer u op de hyperlink klikt, wordt er een Outlook-e-mail aangemaakt met de opgegeven velden Aan, Onderwerp en Bericht zoals in de onderstaande schermafbeelding.

Opmerkingen:

1) Met deze methode moet u elke e-mailhyperlink handmatig aanmaken.
2) U kunt met deze methode geen Cc-veld toevoegen aan e-mails. Als u het Cc-veld nodig heeft, voeg dit dan toe vanuit het nieuw geopende e-mailvenster.

1.2 E-mail verzenden naar meerdere ontvangers in cellen met VBA-script

In het bovenstaande voorbeeld ziet u dat meerdere e-mailadressen in één cel worden weergegeven, gescheiden door puntkomma's. Als u een lijst met e-mailadressen heeft zoals in de onderstaande schermafbeelding en u wilt een e-mail of afzonderlijke e-mails naar al deze adressen verzenden, kan de volgende VBA-code u helpen.


1.2.1 Een e-mail verzenden naar meerdere ontvangers in cellen met VBA-script

1. Ga in het werkblad dat alle e-mailadressen bevat waarnaar u de e-mail wilt sturen. Druk op de toetsen "Alt" + "F11" om het venster "Microsoft Visual Basic for Applications" te openen.

2. Klik in het venster "Microsoft Visual Basic for Applications" op "Invoegen" > "Module" en plak vervolgens de volgende code in het venster "Module (Code)".

VBA-code: E-mail verzenden naar een lijst met e-mailadressen

Sub sendmultiple()
'updateby Extendoffice 20220802
    Dim xOTApp As Object
    Dim xMItem As Object
    Dim xCell As Range
    Dim xRg As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOTApp = CreateObject("Outlook.Application")
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    Set xMItem = xOTApp.CreateItem(0)
    With xMItem
        .To = xEmailAddr
        .Subject = "Test"
        .Body = "Dear " _
                & vbNewLine & vbNewLine & _
                "This is a test email " & _
                "sending in Excel"
        .Display
    End With
End Sub

3. Druk op de toets "F5" om de code uit te voeren; er verschijnt een "Kutools voor Excel"-dialoogvenster. Selecteer de lijst met e-mailadressen en klik op "OK".

A screenshot of the 'Kutools for Excel' dialog box asking for the email addresses list

Opmerkingen:

1) Als u niet wilt dat het bovenstaande dialoogvenster verschijnt en u het bereik van e-mailadressen direct in de code wilt opgeven, vervang dan deze regel:
Set xRg = Application.InputBox("Selecteer alstublieft de adressenlijst:", "Kutools voor Excel", xTxt, , , , ,8)
door
Set xRg = Range("A2:A7")
2) U kunt uw eigen e-mailonderwerp en berichttekst opgeven in de volgende regels:
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Om de e-mail direct te verzenden zonder het volgende nieuwe berichtvenster te openen, vervang deze regel:
.Display
door
.Send

Na het uitvoeren van de code worden alle e-mailadressen in het geselecteerde bereik weergegeven in het veld Aan van het berichtvenster. Zie schermafbeelding:

A screenshot of the email message window with all email addresses filled in the To field


1.2.2 E-mails afzonderlijk verzenden naar elke ontvanger die in cellen is vermeld met VBA-script

De bovenstaande code voegt alle e-mailadressen in het geselecteerde bereik toe aan het veld Aan van het berichtvenster. Als u e-mails afzonderlijk naar elk e-mailadres in de cellen wilt verzenden zonder dat ze elkaars adres zien, kunt u het volgende VBA-script proberen.

1. Ga in het werkblad dat alle e-mailadressen bevat waarnaar u de e-mails wilt sturen. Druk op de toetsen "Alt" + "F11" om het venster "Microsoft Visual Basic for Applications" te openen.

2. Klik in het venster "Microsoft Visual Basic for Applications" op "Invoegen" > "Module" en plak vervolgens de volgende code in het venster Module (Code).

VBA-code: E-mails afzonderlijk verzenden naar elk e-mailadres dat in cellen is vermeld

Sub SendEmailToAddressInCells()
'Updated by Extendoffice 20220802
    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 the addresses list", "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

3. Klik vervolgens op "Extra" > "Verwijzingen". Zoek en vink in het dialoogvenster "Verwijzingen – VBAProject" het vakje "Microsoft Outlook16.0 Object Library" aan en klik op de knop "OK" om de wijzigingen op te slaan.

A screenshot of the 'References – VBAProject' dialog box in Excel with the Microsoft Outlook 16.0 Object Library option selected

4. Druk op de toets "F5" om de code uit te voeren; er verschijnt een "Kutools voor Excel"-dialoogvenster. Selecteer de lijst met e-mailadressen en klik op "OK".

A screenshot of the 'Kutools for Excel' dialog box asking for the email address list selection

Opmerkingen:

1) Als u niet wilt dat het bovenstaande dialoogvenster verschijnt en u het bereik van e-mailadressen direct in de code wilt opgeven, vervang dan deze regel:
Set xRg = Application.InputBox("Selecteer alstublieft de adressenlijst:", "Kutools voor Excel", xTxt, , , , ,8)
door
Set xRg = Range("A2:A7")
2) U kunt uw eigen e-mailonderwerp en berichttekst opgeven in de volgende regels:
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Om de e-mail direct te verzenden zonder de volgende berichtvensters te openen, vervang deze regel:
.Display
door
.Send

In dit voorbeeld zijn er zes e-mailadressen in het geselecteerde bereik, dus worden er automatisch zes Outlook-berichtvensters aangemaakt met elk een afzonderlijk e-mailadres in het veld Aan, zoals in de onderstaande schermafbeelding.

A screenshot of multiple Outlook message windows with separate email addresses in the To field

5. Klik ten slotte op de knop "Verzenden" om de e-mails één voor één te versturen.


2. Bijlagen of Outlook-handtekening invoegen in de e-mails die vanuit Excel worden verzonden (met VBA-scripts)

In deze sectie laten we zien hoe u bijlagen of de standaard Outlook-handtekening toevoegt aan e-mails die vanuit Excel worden verzonden.

2.1 Bijlagen invoegen in de e-mails die vanuit Excel worden verzonden

Hier beschrijven we de verschillende situaties voor het toevoegen van bijlagen, zodat u de methode kunt kiezen die bij uw behoeften past. In deze sectie leert u (klik op een van de onderstaande links om naar de betreffende methode te gaan):


2.1.1 Een bepaald bestand als bijlage e-mailen

U kunt de volgende VBA-code gebruiken om één of meerdere bestanden in een map als bijlagen vanuit Excel te e-mailen.

1. Druk op de toetsen "Alt" + "F11".

2. Klik in het geopende venster "Microsoft Visual Basic for Applications" op "Invoegen" > "Module". Plak vervolgens de onderstaande VBA-code in het venster Module (Code).

VBA-code: Bestanden in een map als bijlagen vanuit Excel e-mailen

Sub EmailWithAttachments()
'Updated by Extendoffice 20220802
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = "xxx@aaa.com"
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Opmerkingen:

1) In de regel ".To = xxx@aaa.com", vervang "xxx@aaa.com" door het e-mailadres van uw ontvanger;
2) Wijzig het e-mailonderwerp en de e-mailtekst afzonderlijk in de regels ".Subject = "test"" en ".HTMLBody = "test"";
3) U kunt Cc- en Bcc-ontvangers toevoegen indien nodig. Voeg gewoon de volgende twee regels toe onder de regel ."To = xxx@aaa.com".
.CC = "e-mailadres"
.BCC = "e-mailadres"

3. Klik vervolgens op "Extra" > "Verwijzingen". Zoek en vink in het dialoogvenster "Verwijzingen – VBAProject" het vakje "Microsoft Outlook16.0 Object Library" aan en klik op de knop "OK" om de wijzigingen op te slaan.

A screenshot of the 'References – VBAProject' dialog box in Excel with the Microsoft Outlook 16.0 Object Library option selected

4. Druk op de toets "F5" om de code uit te voeren; er verschijnt een "Bladeren"-venster. Selecteer de bestanden die u als bijlage wilt toevoegen aan de e-mail en klik op "OK".

A screenshot of the 'Browse' window for selecting files to attach to an email in Exce

Er verschijnt vervolgens een berichtvenster. U ziet dat de geselecteerde bestanden als bijlagen worden weergegeven in het veld Bijgevoegd.

A screenshot of the Outlook message window with selected files displayed as attachments


2.1.2 Het huidige werkblad als bijlage e-mailen

Als u het huidige werkblad als bijlage vanuit Excel wilt e-mailen, kunt u het VBA-script in deze sectie gebruiken.

1. Druk op de toetsen "Alt" + "F11".

2. Klik in het geopende venster "Microsoft Visual Basic for Applications" op "invoegen" > "Module". Plak vervolgens de onderstaande VBA-code in het venster "Module (Code)".

VBA-code: Het huidige werkblad als bijlage e-mailen

Sub SendWorkSheet()
'Update by Extendoffice 20220802
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte features"
    .Body = "Please check and read this document."
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub

Opmerkingen:

1) In de regel ."To = xxx@aaa.com", vervang "xxx@aaa.com" door het echte e-mailadres van de ontvanger. Als u meerdere e-mailadressen nodig heeft, scheid deze dan met puntkomma's.
2) Wijzig het e-mailonderwerp en de e-mailtekst afzonderlijk in de regels ".Subject = "kte features"" en ".Body = " Controleer en lees dit document."";
3) In de volgende twee regels:
.CC = "e-mailadres"
.BCC = "e-mailadres"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervang dan de tekst "e-mailadres" in de regels door de gewenste e-mailadressen.
Als u de cc- en bcc-ontvangers niet nodig heeft, voeg dan een apostrof ' toe voor elke regel.

3. Druk op de toets "F5" om de code uit te voeren; het huidige werkblad wordt opgeslagen als een Excel-werkboek en automatisch als bijlage toegevoegd aan een berichtvenster. Zie schermafbeelding:

A screenshot of the Outlook message window with the current worksheet saved and attached as an Excel workbook

Opmerking: Het bijgevoegde werkboek dat alleen het huidige werkblad bevat, heeft dezelfde naam als het oorspronkelijke werkboek. De tijd waarop u de code uitvoert, wordt ook aan de werkboeknaam toegevoegd.


2.1.3 Het huidige werkboek als bijlage e-mailen

Na het leren van de VBA-code om het huidige werkblad als bijlage vanuit Excel te e-mailen, bieden we hier een ander VBA-script om u te helpen het volledige werkboek als bijlage te e-mailen. Volg de onderstaande stappen.

1. Druk op de toetsen "Alt" + "F11".

2. Klik in het geopende venster "Microsoft Visual Basic for Applications" op "Invoegen" > "Module". Plak vervolgens de onderstaande VBA-code in het venster Module (Code).

VBA-code: Het huidige werkboek als bijlage vanuit Excel e-mailen

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Opmerkingen:

1) In de regel ".To = xxx@aaa.com", vervang "xxx@aaa.com" door het echte e-mailadres van de ontvanger. Als u meerdere e-mailadressen nodig heeft, scheid deze dan met puntkomma's.
2) Wijzig het e-mailonderwerp en de e-mailtekst afzonderlijk in de regels ".Subject = "kte features"" en ".Body = " Controleer en lees dit document."";
3) In de volgende twee regels:
.CC = "e-mailadres"
.BCC = "e-mailadres"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervang dan de tekst "e-mailadres" in de regels door de gewenste e-mailadressen.
Als u de cc- en bcc-ontvangers niet nodig heeft, voeg dan een apostrof ' toe voor elke regel.

3. Druk op de toets "F5" om de code uit te voeren; het huidige werkboek wordt automatisch als bijlage toegevoegd aan het berichtvenster. Zie schermafbeelding:

A screenshot of the Outlook message window with the current workbook attached automatically


2.1.4 Het volledige werkboek als PDF-bijlage e-mailen

Veel mensen slaan een Excel-werkboek op als PDF-bestand en sturen dit vervolgens als bijlage naar anderen. In deze sectie laat ik u zien hoe u rechtstreeks vanuit Excel een e-mail kunt verzenden met het huidige geopende werkboek als PDF-bijlage, zonder het werkboek handmatig als PDF op te slaan.

1. Druk op de toetsen "Alt" + "F11".

2. Klik in het geopende venster "Microsoft Visual Basic for Applications" op "Invoegen" > "Module". Plak vervolgens de onderstaande VBA-code in het venster Module (Code).

VBA-code: Het volledige werkboek als PDF-bijlage e-mailen

Sub SendWorkBookAsPDF()
'Update 20220803
Dim Wb As Workbook
Dim FilePath As String
Dim FileName As String
Dim xOutApp As Object
Dim xOutMail As Object
On Error Resume Next

Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"
FilePath = Environ$("temp") & "\" & FileName

Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    FilePath, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False

Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
       .To = "xxx@aaa.com"
       .CC = "Email Address"
       .BCC = "Email Address"
       .Subject = "test"
       .Body = "test"
       .Attachments.Add FilePath
       .Display   'or use .Send
   End With
Kill FilePath
Set xOutMail = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub

Opmerkingen:

1) In de regel ".To = xxx@aaa.com", vervang "xxx@aaa.com" door het echte e-mailadres van de ontvanger. Als u meerdere e-mailadressen nodig heeft, scheid deze dan met puntkomma's.
2) Wijzig het e-mailonderwerp en de e-mailtekst afzonderlijk in de regels .Subject = "test" en .Body = "test";
3) In de volgende twee regels:
.CC = "E-mailadres"
.BCC = "E-mailadres"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervang dan de tekst "E-mailadres" in de regels door de gewenste e-mailadressen.
Als u de cc- en bcc-ontvangers niet nodig heeft, voeg dan een apostrof ' toe voor elke regel.
4) De naam van het PDF-bestand is gelijk aan de naam van het oorspronkelijke werkboek. De tijd waarop u de code uitvoert, wordt ook aan de werkboeknaam toegevoegd. Als u geen tijdstempel aan de bestandsnaam wilt toevoegen, verwijder dan & Format(Now, "dd-mmm-yy h-mm-ss") uit de volgende regel.
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) -1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"

3. Druk op de toets "F5" om de code uit te voeren. Het huidige werkboek wordt dan automatisch als PDF-bijlage toegevoegd aan een nieuw berichtvenster. Zie schermafbeelding:

A screenshot of the Outlook message window with the current workbook attached as a PDF file


2.1.5 Het huidige werkblad als PDF-bijlage e-mailen

Stel, u heeft een werkboek met de naam "Maandelijkse verkoop" en u heeft een verkooprapport gemaakt in een werkblad met de naam "verkooprapport" en wilt dit werkblad als PDF-bestand naar uw collega's sturen. De volgende VBA-code kan u hierbij helpen.

1. Druk op de toetsen "Alt" + "F11".

2. Klik in het geopende venster "Microsoft Visual Basic for Applications" op "invoegen" > "Module". Plak vervolgens de onderstaande VBA-code in het venster Module (Code).

VBA-code: Het huidige werkblad als PDF-bijlage e-mailen

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Opmerkingen:

1) In de regel ".To = xxx@aaa.com", vervang "xxx@aaa.com" door het echte e-mailadres van de ontvanger. Als u meerdere e-mailadressen nodig heeft, scheid deze dan met puntkomma's.
2) Wijzig het e-mailonderwerp en de e-mailtekst afzonderlijk in de regels .Subject = "test" en .Body = "test";
3) In de volgende twee regels:
.CC = "E-mailadres"
.BCC = "E-mailadres"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervang dan de tekst "E-mailadres" in de regels door de gewenste e-mailadressen.
Als u de cc- en bcc-ontvangers niet nodig heeft, voeg dan een apostrof ' toe voor elke regel.
4) De naam van het PDF-bestand wordt: de naam van het oorspronkelijke werkboek_de naam van het oorspronkelijke werkblad. In dit geval wordt de naam van het PDF-bestand Maandelijkse verkoop_verkooprapport.

3. Druk op de toets "F5" om de code uit te voeren. Het huidige werkblad wordt dan automatisch als PDF-bijlage toegevoegd aan een nieuw berichtvenster. Zie schermafbeelding:

A screenshot of the Outlook message window with the current worksheet attached as a PDF file


2.2 Outlook-handtekening invoegen in de e-mails die vanuit Excel worden verzonden

Neem het bovenstaande geval als voorbeeld: u gebruikt de bovenstaande VBA-code om het huidige werkblad als PDF-bijlage vanuit Excel te verzenden, maar de Outlook-handtekening wordt niet toegevoegd aan het berichtvenster. Om de standaard Outlook-handtekening te behouden in de e-mail die vanuit Excel wordt verzonden, kunt u de volgende methode gebruiken.

Hieronder staan twee VBA-codes vermeld.

VBA-code1: De code helpt om de Outlook-handtekening te behouden.

VBA-code2: De code helpt het huidige werkblad als PDF-bijlage te e-mailen.

VBA-code1: Outlook-handtekening behouden

.HTMLBody = "Email body" & "
" & .HTMLBody

VBA-code2: Het huidige werkblad als PDF-bijlage e-mailen

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

1. Normaal gesproken moet u op de toetsen "Alt" + "F11" drukken om het venster "Microsoft Visual Basic for Applications" te openen.

2. Klik in het venster "Microsoft Visual Basic for Applications" op "Invoegen" > "Module". Plak vervolgens de bovenstaande VBA-code2 in het venster Module (Code).

3. Om de standaard Outlook-handtekening te behouden in de e-mail die vanuit Excel wordt verzonden, moet u VBA-code2 als volgt aanpassen:

1) Vervang de regel ".Body" door "VBA-code1";
2) Verplaats de regel ".Display" onder de regel "With OutlookMail (of With xMailOut in andere codes)". Zie schermafbeelding:

A screenshot showing the modified VBA code with the .Body line replaced and .Display placed under With OutlookMail

Hier is de volledige code na aanpassing.

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .Display
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .HTMLBody = "Email body" & "
" & .HTMLBody
    .Attachments.Add FileName
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

4. Druk op de toets "F5" om de code uit te voeren. U krijgt dan een nieuw berichtvenster met het huidige werkblad als PDF-bijlage, terwijl de standaard Outlook-handtekening automatisch aan het einde van het e-mailbericht wordt toegevoegd.

A screenshot of an email in Outlook with the default signature automatically inserted at the end of the email body


3. Automatisch e-mails verzenden vanuit Excel wanneer aan een voorwaarde is voldaan (met VBA-scripts)

In bovenstaande voorbeelden moet u de code handmatig uitvoeren om de e-mail te verzenden. Als u de code automatisch wilt laten uitvoeren wanneer aan een bepaalde voorwaarde is voldaan, bijvoorbeeld wanneer een cel een bepaalde waarde bereikt, wanneer een celwaarde verandert, wanneer een datum is bereikt, enzovoort, wordt de e-mail automatisch verzonden. In deze sectie vindt u veelvoorkomende voorwaarden waarnaar Excel-gebruikers vaak zoeken op Google, zodat u automatisch e-mails vanuit Excel kunt verzenden wanneer aan een bepaalde voorwaarde is voldaan.

3.1 Automatisch een e-mail verzenden wanneer een cel een bepaalde waarde bereikt

Zoals in de onderstaande schermafbeelding te zien is, heeft u bijvoorbeeld een verkooptabel waarbij cel D6 het verkoop totaal bevat. U wilt automatisch een e-mail naar uw leidinggevende sturen op basis van het verkoop totaal, bijvoorbeeld een e-mail aanmaken of verzenden zodra het verkoop totaal hoger is dan10.000, maar als het verkoop totaal gelijk is aan of lager is dan10.000, gebeurt er niets.

1. Klik met de rechtermuisknop op het tabblad van het werkblad met de verkooptabel en kies "Code weergeven" in het contextmenu.

2. Plak in het geopende venster "Microsoft Visual Basic for Applications" de volgende VBA-code in het venster "Sheet (Code)".

VBA-code: Automatisch een e-mail verzenden wanneer een cel een bepaalde waarde bereikt in Excel

Dim xRg As Range
'Update by Extendoffice 20200803
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("D6"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10000 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
On Error Resume Next
With xOutMail
.To = "xxx@aaa.com"
.CC = "Email address"
.BCC = "Email address"
.Subject = "test"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub

Private Sub Worksheet_Calculate()
Dim xI As Integer
Dim xRg As Range
Set xRg = Range("D6")
On Error GoTo Err01
xI = Int(xRg.Value)
If xI > 10000 Then
Call Mail_small_Text_Outlook
End If
Err01:
End Sub

Opmerkingen:

1) "D6" is de cel waarvan de waarde bepaalt of er een e-mail wordt verzonden.
2) " >10000" is de voorwaarde, wat betekent dat er een e-mail wordt verzonden als de waarde in D6 groter is dan10.000.
3) "Range(“D6”)" in de volgende regel betekent dat de berichttekst van de e-mail verwijst naar de waarde in D6.
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
4) In de regel ".To = xxx@aaa.com", vervang "xxx@aaa.com" door het echte e-mailadres van de ontvanger. Als u meerdere e-mailadressen nodig heeft, scheid deze dan met puntkomma's.
5) Wijzig het e-mailonderwerp in de regel .Subject = "test".
6) In de volgende twee regels:
.CC = "E-mailadres"
.BCC = "E-mailadres"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervang dan de tekst "E-mailadres" in de regels door de gewenste e-mailadressen.
Als u de cc- en bcc-ontvangers niet nodig heeft, voeg dan een apostrof ' toe voor elke regel.

Vanaf nu wordt er een e-mail aangemaakt zodra de waarde in cel D6 hoger is dan10.000, zoals in de onderstaande schermafbeelding.

A screenshot of an email created in Outlook when the value in cell D6 exceeds 10000 in Excel


3.2 Automatisch een e-mail verzenden wanneer een celwaarde verandert

Zoals in de onderstaande schermafbeelding te zien is, ontvangt u bijvoorbeeld een werkboek met maandelijkse verkoopcijfers in verschillende werkbladen en het verkoop totaal in één werkblad. U moet het verkoop totaal controleren en als deze wordt gewijzigd, het werkboek terugsturen naar de afzender en de afzender informeren dat de cel is aangepast.

1. Klik met de rechtermuisknop op het tabblad van het werkblad met de verkooptabel en kies "Code weergeven" in het contextmenu.

2. Plak in het geopende venster "Microsoft Visual Basic for Applications" de volgende VBA-code in het venster Sheet (Code).

VBA-code: Automatisch een e-mail verzenden wanneer een opgegeven celwaarde verandert

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220803
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xBoolean = False
Set xRg = Range("B14")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
Set xRgSel = xItsRG
xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
Set xRgSel = xDDs
xBoolean = True
ElseIf Not (xDs Is Nothing) Then
Set xRgSel = xDs
xBoolean = True
End If

ActiveWorkbook.Save
If xBoolean Then
Debug.Print xRgSel.Address

Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "The cell " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."

With xMailItem
.To = "xxx@aaa.com"
.CC = "Email address"
.BCC = "Email address"
.Subject = "Worksheet modified"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Opmerkingen: In de code,

1) "B14" in de code betekent dat wanneer de waarde van cel B14 verandert, er een e-mail wordt verzonden.
2) In de regel ".To = xxx@aaa.com", vervang "xxx@aaa.com" door het echte e-mailadres van de ontvanger. Als u meerdere e-mailadressen nodig heeft, scheid deze dan met puntkomma's.
3) Wijzig het e-mailonderwerp in de regel .Subject = "Werkblad aangepast".
4) In de volgende twee regels:
.CC = "E-mailadres"
.BCC = "E-mailadres"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervang dan de tekst "E-mailadres" in de regels door de gewenste e-mailadressen.
Als u de cc- en bcc-ontvangers niet nodig heeft, voeg dan een apostrof ' toe voor elke regel.

Vanaf nu wordt er automatisch een Outlook-bericht aangemaakt zodra de waarde in cel B14 verandert, zoals in de onderstaande schermafbeelding.

A screenshot of an email created in Outlook when the value in cell B14 changes


3.3 Automatisch een e-mail verzenden wanneer een werkboek wordt opgeslagen

Als u een werkboek heeft dat u na bewerking met anderen moet delen, moet u normaal gesproken het werkboek opslaan, de e-mailclient openen, een nieuwe e-mail aanmaken met het werkboek als bijlage, de velden invullen en vervolgens de e-mail verzenden. In deze sectie laten we u zien hoe u automatisch een e-mail aanmaakt telkens wanneer u het werkboek opslaat. Volg de onderstaande stappen.

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

2. Dubbelklik in dit venster op "ThisWorkbook" in het "Project"-venster en plak vervolgens de volgende VBA-code in het venster "ThisWorkbook (Code)".

VBA-code: Automatisch een e-mail verzenden wanneer een werkboek wordt opgeslagen

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220804
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = "xxx@aaa.com"
        .CC = "Email address"
        .BCC = "Email address"
        .Subject = "The workbook has been updated"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

Opmerkingen: In de code,

1) In de regel ".To = xxx@aaa.com", vervang "xxx@aaa.com" door het echte e-mailadres van de ontvanger. Als u meerdere e-mailadressen nodig heeft, scheid deze dan met puntkomma's.
2) Wijzig het e-mailonderwerp en de berichttekst afzonderlijk in de regels ".Subject = "Het werkboek is bijgewerkt"" en ".Body = "Hallo," & Chr(13) & Chr(13) & "Bestand is nu bijgewerkt."".
3) In de volgende twee regels:
.CC = "E-mailadres"
.BCC = "E-mailadres"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervang dan de tekst "E-mailadres" in de regels door de gewenste e-mailadressen.
Als u de cc- en bcc-ontvangers niet nodig heeft, voeg dan een apostrof ' toe voor elke regel.

3. Vanaf nu wordt er automatisch een Outlook-e-mail aangemaakt wanneer u het werkboek opslaat met de toetsen "Ctrl" + "S" of door op de knop "Opslaan" te klikken. U ziet dat het huidige werkboek als bijlage is toegevoegd en de velden zijn ingevuld met de opgegeven inhoud. Zie schermafbeelding:

A screenshot showing an Outlook email with the current workbook attached, ready to be sent automatically

Tips: Als u dit werkboek vaak gebruikt, raden wij u aan het werkboek op te slaan als een "Excel-werkmap met macro's" om de VBA-code voor toekomstig gebruik te bewaren. De stappen zijn als volgt.

1) Klik op "Bestand" > "Opslaan als" en kies vervolgens een map om het bestand op te slaan.
2) Geef in het dialoogvenster "Opslaan als" de gewenste bestandsnaam op in het tekstvak "Bestandsnaam", kies "Excel-werkmap met macro's" in de vervolgkeuzelijst "Opmaak opgeven voor opslaan" en klik ten slotte op de knop "Opslaan". Zie schermafbeelding:

A screenshot of the 'Save As' dialog in Excel showing the option to save the workbook as an Excel Macro-Enabled Workbook


3.4 Automatisch een e-mail verzenden op een specifiek tijdstip

Stel dat u elke vrijdag om9 uur 's ochtends automatisch een e-mail met een werkboek voor taaktoewijzing wilt versturen, zonder handmatig de e-mailclient te openen. In deze sectie laten we u zien hoe u dit voor elkaar krijgt.

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

2. Klik in het venster "Microsoft Visual Basic for Applications" op "Invoegen" > "Module". Plak vervolgens de volgende VBA-code in het venster Module.

VBA-code1 : Het huidige werkboek als bijlage vanuit Excel e-mailen

Sub Timer()
    If Weekday(Date) = vbFriday Then
        SendWorkBook
        Application.OnTime TimeValue("09:00:00"), "Timer"
    Else
        Application.OnTime TimeValue("09:00:00"), "Timer"
    End If
End Sub

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. Dubbelklik in dit venster op "ThisWorkbook" in het "Project"-venster en plak vervolgens de volgende VBA-code in het venster "ThisWorkbook (Code)".

A screenshot showing the VBA code editor with the 'Workbook_Open' event and 'Application.OnTime' function to schedule email sending

VBA-code2: Automatisch een e-mail verzenden op een specifiek tijdstip

Private Sub Workbook_Open()
    Application.OnTime TimeValue("09:00:00"), "Timer"
End Sub

Opmerkingen:

1) In VBA-code1 betekent "Vrijdag" in de volgende regel dat de e-mail automatisch elke vrijdag wordt verzonden;
If Weekday(Date) = vbFriday Then
2) In VBA-code1 en VBA-code2 betekent de tijd "09:00:00" dat de e-mail om9 uur 's ochtends op een bepaalde dag wordt verzonden.
U kunt de dag en tijd naar wens aanpassen.
3) Wanneer de code wordt uitgevoerd, wordt er een e-mail aangemaakt. Als u niet wilt dat het berichtvenster verschijnt en de e-mail direct wilt verzenden, verwijder dan de regel ".Display" uit VBA-code1 en verwijder de "apostrof" voor de regel ‘.Send.

4. Sla de codes op en sla het werkboek vervolgens op als een Excel-werkmap met macro's zoals hieronder.

4.1) Klik op "Bestand" > "Opslaan als" en kies vervolgens een map om het bestand op te slaan.
4.2) Geef in het dialoogvenster "Opslaan als" de gewenste bestandsnaam op in het tekstvak "Bestandsnaam", kies "Excel-werkmap met macro's" in de vervolgkeuzelijst "Opmaak opgeven voor opslaan" en klik ten slotte op de knop "Opslaan". Zie schermafbeelding:

A screenshot of the 'Save As' dialog in Excel showing the option to save the workbook as an Excel Macro-Enabled Workbook

5. Open uw opgeslagen werkmap met macro's; er wordt dan automatisch een e-mail aangemaakt of verzonden zodra de dag en tijd zijn aangebroken.


4. Aanvullende onderwerpen

In deze sectie vindt u andere onderwerpen die u kunt tegenkomen bij het verzenden van e-mails vanuit Excel.

4.1 Een bereik van cellen e-mailen vanuit Excel (met VBA-script)

Stel dat er een maandelijkse verkooptabel in een Excel-werkblad staat, zoals in de onderstaande schermafbeelding, en u wilt deze tabel als berichtinhoud of als bijlage naar anderen sturen. Hier bieden we u twee methoden om dit te doen.

4.1.1 Een bereik als onderdeel van de berichtinhoud vanuit Excel e-mailen

U kunt de volgende VBA-code uitvoeren om een bereik van cellen als onderdeel van de e-mailinhoud vanuit Excel te verzenden

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

2. Klik in het venster "Microsoft Visual Basic for Applications" op "Extra" > "Verwijzingen". Vink vervolgens het vakje "Microsoft Outlook16.0 Object Library" aan en klik op "OK" in het dialoogvenster "Verwijzingen – VBAProject".

3. Klik op "Invoegen" > "Module" en plak vervolgens de volgende VBA-code in het venster "Module (Code)".

VBA-code: Een bereik van cellen als onderdeel van de e-mailinhoud vanuit Excel verzenden

Sub SendARangeofCells()
'Updated by Extendoffice 20220809
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
        .Subject = "test"
        .To = "xxx@aaa.com"
        .CC = "Email address"
        .BCC = "Email address"
        .HTMLBody = RangetoHTML(xRg)
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

 ' The following VBA script is cited from this page:
 ' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook

    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

    'Copy the range and create a new workbook to past the data in
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With

    'Publish the sheet to a htm file
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    'Read all data from the htm file into RangetoHTML
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.ReadAll
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")

    'Close TempWB
    TempWB.Close savechanges:=False

    'Delete the htm file we used in this function
    Kill TempFile

    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function

Opmerkingen: In de code,

1) In de regel ".To = xxx@aaa.com", vervang "xxx@aaa.com" door het echte e-mailadres van de ontvanger. Als u meerdere e-mailadressen nodig heeft, scheid deze dan met puntkomma's.
2) In de volgende twee regels:
.CC = "E-mailadres"
.BCC = "E-mailadres"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervang dan de tekst "E-mailadres" in de regels door de gewenste e-mailadressen.
Als u de cc- en bcc-ontvangers niet nodig heeft, voeg dan een apostrof ' toe voor elke regel.

4. Druk op de toets "F5" om de code uit te voeren. In het pop-upvenster "Kutools voor Excel" selecteert u het bereik van cellen dat u als onderdeel van de e-mailinhoud wilt verzenden en klikt u op "OK". Zie schermafbeelding:

A screenshot of the Kutools for Excel dialog box where a range of cells is selected to send as part of an email body

Er wordt automatisch een Outlook-e-mail aangemaakt. U ziet dat het geselecteerde bereik uit het werkblad is ingevoegd in de e-mailinhoud. Zie schermafbeelding:

A screenshot of an Outlook email with the selected range from Excel inserted into the email body


4.1.2 Een bereik als bijlage e-mailen vanuit Excel

Als u een bereik van cellen in een werkblad als bijlage vanuit Excel wilt e-mailen, kunt u de volgende VBA-code proberen.

1. Druk op de toetsen "Alt" + "F11".

2. Klik in het geopende venster "Microsoft Visual Basic for Applications" op "Invoegen" > "Module". Plak vervolgens de onderstaande VBA-code in het venster "Module (Code)".

VBA-code: Een bereik als bijlage vanuit Excel e-mailen

Sub SendRange()
'Update 20220809
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email address"
    .BCC = "Email address"
    .Subject = "Monthly sales for 2021"
    .Body = "Hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Opmerkingen:

1) In de regel ".To = xxx@aaa.com", vervang "xxx@aaa.com" door het echte e-mailadres van de ontvanger. Als u meerdere e-mailadressen nodig heeft, scheid deze dan met puntkomma's.
2) Wijzig het e-mailonderwerp en de e-mailtekst afzonderlijk in de regels" .Subject = "Maandelijkse verkoop voor2021"" en ".Body = "Hallo, controleer en lees dit document."";
3) In de volgende twee regels:
.CC = "e-mailadres"
.BCC = "e-mailadres"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervang dan de tekst "e-mailadres" in de regels door de gewenste e-mailadressen.
Als u de cc- en bcc-ontvangers niet nodig heeft, voeg dan een apostrof ' toe voor elke regel.

3. Druk op de toets "F5" om de code uit te voeren. In het pop-upvenster "Kutools voor Excel" selecteert u het bereik van cellen dat u als bijlage in een e-mail wilt verzenden en klikt u op "OK". Zie schermafbeelding:

A screenshot of the Kutools for Excel dialog box where a range of cells is selected to send as an attachment in an email

Er wordt automatisch een Outlook-e-mail aangemaakt. Het geselecteerde bereik van cellen uit het werkblad wordt opgeslagen als een Excel-werkboek en als bijlage toegevoegd aan het berichtvenster. Zie schermafbeelding:

A screenshot of an Outlook email with the selected range from Excel saved as an attachment


4.2 E-mails verzenden wanneer op een knop wordt geklikt in Excel

Als u een opdrachtknop wilt gebruiken om een macro te activeren voor het verzenden van een e-mail vanuit Excel, bijvoorbeeld het huidige werkboek als bijlage naar anderen sturen door op een opdrachtknop in het werkblad te klikken, volg dan de onderstaande stappen.

1. Klik op "Ontwikkelaars" > "Invoegen" > "Opdrachtknop (ActiveX-besturingselement)". Teken vervolgens een opdrachtknop in het werkblad.

Tips: Als u al een opdrachtknop heeft, sla deze stap dan over.

2. Druk op de toetsen "Alt" + "F11" om het venster "Microsoft Visual Basic for Applications" te openen. Klik in het venster op "Invoegen" > "Module" en plak vervolgens de VBA-code (de code om het huidige werkboek als bijlage vanuit Excel te e-mailen) in het venster Module (Code).

Klik hier om de code te krijgen.

Opmerking: De naam van de macro die u in stap2 heeft aangemaakt is hier "SendWorkbook".

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

4. Nu moet u de macro aan de opdrachtknop toewijzen. Klik met de rechtermuisknop op de opdrachtknop en kies "Code weergeven" in het contextmenu.

5. Het venster "Microsoft Visual Basic for Applications" verschijnt; u ziet de volgende twee regels in het venster "Sheet (Code)".

Private Sub CommandButton1_Click()
End Sub

A screenshot of the Microsoft Visual Basic for Applications window showing the CommandButton1_Click code

6. Voer de naam van de bestaande macro in binnen de subprocedure voor de opdrachtknop.

A screenshot of editing the VBA code to assign an existing macro to the command button

7. Druk op de toetsen "Alt" + "Q" om de "Visual Basic Editor" te sluiten en klik op "Ontwikkelaars" > "Ontwerpmodus" om de ontwerpmodus uit te schakelen.

A screenshot of turning off Design Mode in the Developer tab

Nu kunt u op de opdrachtknop klikken om een e-mail te verzenden met het huidige werkboek als bijlage in de e-mail.


4.3 E-mails verzenden vanuit een opgegeven e-mailaccount

Normaal gesproken wordt bij het verzenden van een e-mail vanuit Excel met VBA-code het standaardaccount in Outlook als afzender gebruikt. Stel dat u meerdere e-mailaccounts in Outlook heeft geconfigureerd en een bepaald account wilt gebruiken om de e-mails vanuit Excel te verzenden in plaats van het standaardaccount. De volgende VBA-code kan u hierbij helpen.

De volgende codes zijn in dit geval nodig.

VBA-code1:

Dim OutlookMail As Outlook.MailItem

VBA-code2:

For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("zxm@addin99.com") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next

Hoe gebruikt u bovenstaande VBA-codes?

1) Vervang in uw eigen code de regel zoals "Dim OutlookMail As Object” door VBA-code1;
2) Voeg VBA-code2 toe onder de regel "On Error Resume Next” in uw code. Geef vervolgens het e-mailadres op dat u wilt gebruiken om de e-mail te verzenden in VBA-code2.

In dit voorbeeld gaan we een bepaald e-mailaccount opgeven om het huidige werkboek als bijlage vanuit Excel te verzenden. Volg de onderstaande stappen.

1. Druk op de toetsen "Alt" + "F11". Klik in het venster "Microsoft Visual Basic for Applications" op "Extra" > "Verwijzingen". Vink vervolgens het vakje "Microsoft Outlook16.0 Object Library" aan en klik op "OK" in het dialoogvenster "Verwijzingen – VBAProject".

A screenshot of the 'References – VBAProject' dialog box in Excel with the Microsoft Outlook 16.0 Object Library option selected

2. Klik op "Invoegen" > "Module". Plak vervolgens de volgende VBA-code in het venster "Module (Code)".

VBA-code: Het huidige werkboek als e-mailbijlage vanuit Excel verzenden via een opgegeven Outlook-account

Sub SendWorkBook()
'Update by Extendoffice 20220809
Dim OutlookApp As Object
Dim OutlookMail As Outlook.MailItem 'important! Here can’t be declared as Object
Dim xAccount As Account
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
On Error Resume Next
'The following lines helps to specify a certian email account
For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("zxm@addin99.com") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next
'End
With OutlookMail
    .To = "xxx@aaa.com"
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. Druk op de toets "F5" om de code uit te voeren. Er verschijnt een Outlook-e-mailbericht; u ziet dat het veld "Van" is ingevuld met het e-mailaccount dat u in de code heeft opgegeven.


4.4 Een e-mail verzenden wanneer een datum is bereikt

Als u een e-mail wilt verzenden op basis van een specifieke vervaldatum, bijvoorbeeld zoals in de onderstaande schermafbeelding, is er een projecttabel: "wanneer de vervaldatum in het bereik E2:E7 gelijk is aan of minder dan7 dagen vanaf vandaag (stel dat de huidige datum2022/8/4 is)", wordt er automatisch een e-mail verzonden naar de betreffende projectleiders om hen te informeren dat het project bijna verloopt.

1. Klik met de rechtermuisknop op het tabblad van het werkblad met de projecttabel en kies "Code weergeven" in het contextmenu.

2. Plak in het geopende venster "Microsoft Visual Basic for Applications" de volgende VBA-code in het venster "Sheet (Code)".

VBA-code: Automatisch een e-mail verzenden wanneer een vervaldatum is bereikt

Public Sub SendMailDueDate()
'Updated by Extendoffice 20220804
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Range("E2:E7") 'Please reference the due date column range
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Range("C2:C7") 'Please reference the email addresses column range
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Range("D2:D7") 'Please reference the remark column range (the remark used to notify project leaders of the expiration of the project)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "

"
            xMailBody = ""
            xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
            xMailBody = xMailBody & "Remark : " & xRgText.Offset(i - 1).Value & vbCrLf
            xMailBody = xMailBody & ""
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.CC = "Email address"
.BCC = "Email address"
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub

Opmerkingen: In de code,

1) In de volgende regels bevat "E2:E7" de vervaldatums waarop u de e-mails baseert. "C2:C7" bevat de e-mailadressen waarnaar u de e-mails verzendt. En "D2:D7" bevat de opmerkingen die u toevoegt aan het e-mailbericht om de ontvangers te informeren dat het project bijna verloopt. U kunt de bereiken aanpassen naar wens.
Set xRgDate = Range("E2:E7")
Set xRgSend = Range("C2:C7")
Set xRgText = Range("D2:D7")
2) De volgende regel betekent dat de vervaldatum meer dan1 dag en gelijk aan of minder dan7 dagen vanaf vandaag moet zijn. U kunt dit naar wens aanpassen.
If CDate(xRgDateVal) - Date <=7 And CDate(xRgDateVal) - Date >0 Then
3) In de regel ".To = xxx@aaa.com", vervang "xxx@aaa.com" door het echte e-mailadres van de ontvanger. Als u meerdere e-mailadressen nodig heeft, scheid deze dan met puntkomma's.
4) Wijzig het e-mailonderwerp in de regel ".Subject = "Werkblad aangepast"".
5) In de volgende twee regels:
.CC = "E-mailadres"
.BCC = "E-mailadres"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervang dan de tekst "E-mailadres" in de regels door de gewenste e-mailadressen.
Als u de cc- en bcc-ontvangers niet nodig heeft, voeg dan een apostrof ' toe voor elke regel.

3. Druk op de toets "F5" om de code uit te voeren. Als de vervaldatum aan de voorwaarden voldoet, wordt de betreffende e-mail aangemaakt. In dit geval worden er twee e-mails aangemaakt zoals in de onderstaande schermafbeelding.

A screenshot of two emails created automatically based on expiration date matching conditions in Excel


5. Een handig hulpmiddel om eenvoudig e-mails te verzenden vanuit Excel

Als u nieuw bent met VBA, zijn de bovenstaande methoden mogelijk niet eenvoudig voor u. Daarom raden wij de functie "E-mails verzenden" van Kutools voor Excel aan. Met deze functie kunt u eenvoudig e-mails vanuit Excel verzenden met slechts enkele klikken. Volg de onderstaande stappen.

Kutools voor Excel biedt meer dan 300 geavanceerde functies om complexe taken te stroomlijnen, waardoor creativiteit en efficiëntie worden vergroot. Geïntegreerd met AI-mogelijkheden, automatiseert Kutools taken met precisie, waardoor gegevensbeheer moeiteloos wordt. Gedetailleerde informatie over Kutools voor Excel...  Gratis proefversie...
5.1 Eenvoudig een mailinglijst maken met de benodigde e-mailvelden

Voordat u de functie E-mails verzenden gebruikt, moet u een mailinglijst maken die de benodigde e-mailvelden bevat. De functie Mailinglijst maken kan u hierbij helpen.

1. Klik op "Kutools Plus" > "Mailinglijst maken".

2. Stel in het geopende venster "Mailinglijst maken" het volgende in.

2.1) Vink in het gedeelte "Kolommen voor Mailinglijst" de velden aan die u in uw e-mail nodig heeft;
2.2) Vink in het gedeelte "Bijlagen toevoegen" een of meer bijlagen aan die u mogelijk nodig heeft;
2.3) Geef een locatie op om de mailinglijst te plaatsen;
2.4) Klik op de knop "Maken". Zie schermafbeelding:

Er wordt nu een voorbeeld van een mailinglijsttabel aangemaakt, zoals in de onderstaande schermafbeelding.

3. Vervang nu de oorspronkelijke gegevens in het voorbeeld door uw eigen veldgegevens.

U heeft nu een mailinglijsttabel aangemaakt. Ga verder met het toepassen van de functie "E-mails verzenden" om e-mails vanuit Excel te versturen op basis van de door u aangemaakte velden.

Kutools voor Excel - Boost Excel met meer dan 300 essentiële tools. Geniet van permanent gratis AI-functies! Nu verkrijgen


5.2 Eenvoudig e-mails verzenden met de velden die u in de mailinglijst heeft aangemaakt

Nadat u de mailinglijst heeft aangemaakt (klik om te zien hoe) met de velden die u mogelijk in uw e-mails nodig heeft, kunt u nu e-mails vanuit Excel verzenden met deze velden.

1. Selecteer de volledige mailinglijst, klik op "Kutools Plus" > "E-mails verzenden".

2. Stel in het dialoogvenster "E-mails verzenden" het volgende in.

2.1) Velden worden automatisch ingevuld in het dialoogvenster van elk veld op basis van de velden die u in de mailinglijst heeft opgegeven;
Tips: Als u een bepaald veld op dit moment niet nodig heeft, kies dan een lege optie in de vervolgkeuzelijst.
2.2) "Plaatshouder invoegen" (optioneel): Als u variabele informatie in een e-mailbericht wilt invoegen.
Bijvoorbeeld: als u een e-mail naar meerdere ontvangers wilt sturen met een gepersonaliseerde naam voor elke ontvanger, plaatst u de cursor in het e-mailbericht waar u de plaatshouder wilt invoegen, selecteert u het veld "E: Voornaam" (of een ander naamveld in uw mailinglijst) en klikt u op de knop "Plaatshouder invoegen";
Wanneer de ontvangers de e-mail ontvangen, blijft de e-mailtekst hetzelfde, maar is de naam uniek voor elke ontvanger.
2.3) Stel het e-mailbericht samen zoals u wilt;
2.4) Zorg ervoor dat het vakje "Verzenden via Outlook" is aangevinkt;
2.5) Klik op de knop "Verzenden". Zie schermafbeelding:

3. Er verschijnt een "Kutools voor Excel"-dialoogvenster waarin wordt aangegeven hoeveel e-mails zijn verzonden. Klik op de knop "OK" om dit venster te sluiten.

Tips: U kunt in Outlook naar de map "Verzonden items" gaan om de verzonden e-mails te controleren.


5.3 Eenvoudig e-mails verzenden met HTML-bericht (inclusief koppeling, afbeelding, enz.)

Met de functie E-mails verzenden kunt u een HTML-e-mail samenstellen, inclusief koppelingen, afbeeldingen, verschillende lettergroottes en letterkleuren, enzovoort.

Nadat u een mailinglijst heeft aangemaakt met de benodigde e-mailvelden, kunt u bij het instellen van het dialoogvenster E-mails verzenden de inhoud van het bericht verrijken met de opties op de werkbalk.

Zie de onderstaande schermafbeelding:


5.4 Eenvoudig de standaard Outlook-handtekening invoegen bij het verzenden van e-mails

In de bovenstaande methode hebben we een VBA-code laten zien om e-mails te verzenden met de standaard Outlook-handtekening. Met de functie E-mails verzenden hoeft u alleen een optie aan te vinken en wordt de standaard Outlook-handtekening automatisch toegevoegd aan de e-mails die u vanuit Excel verzendt.

Nadat u een mailinglijst heeft aangemaakt met de benodigde e-mailvelden, klikt u bij het instellen van het dialoogvenster E-mails verzenden op "Opties" > "Instellingen voor Outlook-handtekening gebruiken".

Opmerking: Zorg ervoor dat er een vinkje staat voor de optie Instellingen voor Outlook-handtekening gebruiken.

Wanneer ontvangers de e-mail ontvangen, zien ze de standaard Outlook-handtekening aan het einde van het e-mailbericht.


5.5 Eenvoudig e-mails verzenden vanaf een opgegeven e-mailaccount

Als u een bepaald e-mailaccount wilt gebruiken om e-mails vanuit Excel te verzenden in plaats van het standaardaccount, kan de functie E-mails verzenden dit eenvoudig voor u regelen.

Nadat u een mailinglijst heeft aangemaakt met de benodigde e-mailvelden, klikt u bij het instellen van het dialoogvenster E-mails verzenden op "Opties" > "Verzonden vanaf" en kiest u het e-mailaccount waarmee u de e-mails wilt verzenden.

Opmerking: Nadat u het e-mailaccount heeft geselecteerd, wordt er een vinkje voor weergegeven.

Klik hier voor meer informatie over deze functie E-mails verzenden.

Kutools voor Excel - Boost Excel met meer dan 300 essentiële tools. Geniet van permanent gratis AI-functies! Nu verkrijgen

Samengevat: e-mails verzenden vanuit Excel is erg handig in ons dagelijks werk. Dit artikel behandelt uitgebreidere onderwerpen over het verzenden van e-mails vanuit Excel. Heeft u andere onderwerpen of eenvoudigere oplossingen, laat dan gerust een reactie achter.

Beste Office-productiviteitstools

🤖 Kutools AI Assistent: Breng een revolutie teweeg in data-analyse Methode: Intelligente uitvoering |Code genereren |Aangepaste formules maken |Gegevens analyseren en grafieken genereren |Kutools-functies gebruiken
Populaire functies: Dubbele waarden markeren, markeren of identificeren | Verwijder lege rijen | Kolommen of cellen samenvoegen zonder gegevensverlies | Afronden ...
Super ZOEKEN: VLookup met meerdere criteria | VLookup met meerdere waarden | Meervoudig-blad opzoeken | Fuzzy Match ...
Geavanceerde keuzelijst: Snel keuzelijst maken | Afhankelijke keuzelijst | Meervoudige selectie keuzelijst ...
Kolombeheer: Specifiek aantal kolommen toevoegen | Kolommen verplaatsen | Zichtbaarheid van verborgen kolommen wisselen | Bereik & kolommen vergelijken ...
Uitgelichte functies: Rasterfocus | Ontwerpweergave | Verbeterde formulebalk | Werkboek- & Werkbladbeheer | AutoTekstbibliotheek | Datumkiezer | Gegevens samenvoegen | Cellen coderen/decoderen | E-mail verzenden per lijst | Superfilter | Speciaal filter (filter cellen met vetgedrukt/cursief/doorhalen...) ...
Top15 toolsets:12 Teksttools (Tekst toevoegen, Specifieke tekens verwijderen, ...) |50+ Grafiek type (Gantt-diagram, ...) |40+ Praktische formules (Leeftijd berekenen op basis van geboortedatum, ...) |19 Invoegtools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...) | 12 Conversietools (Omzetten naar woorden, Valutaconversie, ...) | 7 Samenvoeg- & Opsplitstools (Geavanceerd samenvoegen van rijen, Cellen splitsen, ...) | ... en meer

Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...


Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!