KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Excel-tutorial – E-mails verzenden vanuit Excel

AuteurSiluvia Wijzigingsdatum

Normaal gesproken gebruiken we e-mailclients zoals Outlook, Gmail enzovoort om e-mails te verzenden. Maar veel mensen slaan gegevens op in Excel-werkboek en moeten tijdens het werken met deze gegevens sommige ervan meesturen naar anderen. Daarom willen ze e-mails direct vanuit Excel-werkboek verzenden, wat tijd bespaart ten opzichte van het gebruik van een aparte e-mailclient. In deze stapsgewijze tutorial wordt uitgelegd hoe u onder verschillende omstandigheden e-mails kunt verzenden vanuit Excel.

Opmerking: voordat u de volgende methoden toepast, dient u een Outlook-e-mailclient op uw computer te configureren en deze in te stellen als standaard e-mailclient.

 Inhoudsopgave:[ Verbergen ]

(Klik op een willekeurige kop in de inhoudsopgave hieronder of rechts om naar het betreffende hoofdstuk te navigeren.)

1. De basis van het verzenden van e-mails vanuit Excel

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

1,1 E-mails verzenden vanuit Excel met ingebouwde Excel-functies

Als u eenvoudige e-mails wilt verzenden vanuit Excel – met alleen velden voor Aan, Onderwerp, Cc en berichttekst – dan ondersteunen de ingebouwde functies van Excel u daar perfect bij.


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 verzenden vanuit Excel op basis van opgegeven velden door celverwijzingen van die velden te gebruiken voor het maken van unieke Hyperlink-formules. Nadat u de e-mailhyperlinks hebt gemaakt, hoeft u alleen maar op de gewenste hyperlink te klikken om automatisch een e-mail te versturen.

Opmerking: als er meerdere ontvangers in de velden Aan of Cc staan, scheidt u deze dan met puntkomma’s.

Deze sectie is onderverdeeld in vier delen die u stap voor stap tonen hoe u e-mailadres, cc-ontvanger(s), onderwerpregel en berichttekst afzonderlijk aan de hyperlinkformule toevoegt. Volg hiervoor de volgende stappen.

De syntaxis en argumenten van de functie „HYPERLINK” zijn als volgt:

Syntaxis

HYPERLINK(link_location, [friendly_name])

Argumenten

„Linklocatie” (vereist): Het pad en bestandsnaam van het document dat moet worden geopend;
Tip: In deze handleiding moeten alle velden die u nodig hebt voor een e-mail, zoals het e-mailadres van de ontvanger E-mailadres, de Cc-ontvanger(s), het onderwerp en de e-mailtekst, worden opgenomen in het eerste argument „linklocatie”.
„Weergavenaam” (optioneel): De tekst die in de cel wordt weergegeven.

1,1.1,1 Voeg E-mailadres toe aan de Hyperlink-formule

Hier gebruiken we „mailto:” in de formule om een e-mailontvanger toe te voegen. In dit voorbeeld staat het e-mailadres van de eerste ontvanger in cel B2, dus voegen we „mailto:” toe en koppelen dit aan cel B2.

“mailto:”&B2

1. Selecteer een cel waarin u de hyperlink wilt weergeven – in dit geval cel F2.

2. Voer daarna de volgende formule in.

=HYPERLINK("mailto:"&B2)

Opmerking: wanneer u op Enter drukt, wordt er een hyperlink gemaakt zoals in de onderstaande afbeelding. Als u op deze link klikt, opent Outlook automatisch een nieuw e-mailbericht en wordt het e-mailadres van de ontvanger ingevuld in het veld Aan.

Het e-mailadres van de ontvanger is nu toegevoegd aan de hyperlinkformule. Volg de volgende stappen om desgewenst het onderwerp, Cc-ontvanger(s) en de berichttekst toe te voegen.


1,1.1,2 Voeg Cc-ontvanger(s) toe aan de Hyperlink-formule

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

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

De formule in cel F2 moet er als volgt uitzien:

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


1,1.1,3 Voeg een onderwerpregel toe aan de Hyperlink-formule

Om een onderwerpregel toe te voegen aan de Hyperlink-functie, neemt u „&subject=” op in de formule, zoals hieronder wordt weergegeven.

„&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 Voeg berichttekst met regeleinden toe aan de Hyperlink-formule

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

Om de berichttekst toe te voegen aan de Hyperlink-formule, voegt u „&body=” toe als onderdeel van de formule, zoals hieronder wordt weergegeven.

„&body="& E2
waarbij E2 de hoofdtekst 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 Enter drukt en op de link klikt, ziet u in Nieuwe e-mail dat de e-mailtekst op één regel wordt weergegeven.

Om de e-mailtekst op afzonderlijke regels weer te geven, plaatst u het Carriage Return-teken „%0A” op de gewenste plek in de celinhoud waar u een regeleinde wilt invoegen. Zie afbeelding:


1,1.1,5 Geef de weer te geven tekst op voor de hyperlink

In de bovenstaande stappen hebben we het argument Link_locatie afgewerkt met e-mailvelden. In deze sectie ronden we het volgende argument [vriendelijke_naam] af.

In dit geval wil ik dat in de hyperlinkcel de tekst „E-mail naar xx” verschijnt, waarbij xx de naam van de ontvanger in cel A2 is. Daarom moet de formule in F2 als volgt worden aangepast:

=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 greep voor automatisch aanvullen omlaag om andere e-mailhyperlinks te genereren. Zie afbeelding:


1,1.2 E-mail verzenden vanuit Excel met de Hyperlink-functie

Naast de bovenstaande Hyperlink-formule kunt u ook handmatig een e-mailhyperlink maken met de functie ‘Hyperlink invoegen’ in Excel. In deze sectie leest u hoe dat werkt.

1. Klik met de rechtermuisknop op de cel waarin u een hyperlink wilt plaatsen en kies „Koppeling” in het contextmenu.

2. Configureer in het venster „Hyperlink maken” dat verschijnt de volgende instellingen.

2,1) Selecteer „E-mailadres" in het linkerdeelvenster.
2,2) Typ in het tekstvak „Weergavetekst" de tekst die u in de cel wilt weergeven;
Tip: U kunt geen celverwijzingen gebruiken in dit dialoogvenster, dus u moet de e-mailvelden handmatig invoeren zoals hieronder wordt beschreven.
2,3) Typ in het tekstvak „E-mailadres" het volgende E-mailadres.
mailto:E-mailadres
Vervang de tekst „E-mailadres” door uw eigen E-mailadres. Als u meer dan één E-mailadres hebt, scheidt u deze met een puntkomma.
2,4) In het tekstvak „Onderwerp" kunt u hier direct uw E-mailonderwerp en e-mailtekst opgeven. Configureer als volgt:
E-mailonderwerp&body=E-mailtekst
In dit geval typ ik „Monthly sale&body=Hi,%0AEmail received“.
waarbij het onderwerp Monthly sale is;
en
de e-mailtekst is:
Hi,
E-mail ontvangen. („%0A“ is de Carriage Return-tekenreeks 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 Berichttekst, zoals weergegeven in de afbeelding hieronder.

Opmerkingen:

1) Met deze methode moest u elk e-mailhyperlink handmatig maken.
2) U kunt het cc-veld niet toevoegen aan e-mails met deze methode. Als u het cc-veld nodig hebt, voegt u dit toe vanuit het nieuw geopende e-mailvenster.

1,2 E-mail verzenden naar meerdere ontvangers in cellen met een 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 hebt, zoals op de onderstaande afbeelding, en u wilt één e-mail of afzonderlijke e-mails verzenden naar iedereen, helpt de volgende VBA-code u daarbij.


1,2.1 Eén e-mail verzenden naar meerdere ontvangers in cellen met een VBA-script

1. Druk in het werkblad met alle e-mailadressen waarnaar u de e-mail wilt verzenden op de toetsencombinatie 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 de volgende code in het venster „Module (Code)”.

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

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 F5-toets om de code uit te voeren. Het dialoogvenster „Kutools voor Excel” verschijnt. Selecteer de lijst met e-mailadressen en klik op „OK”.

Een schermafbeelding van het 'Kutools for Excel'-dialoogvenster waarin om de lijst met e-mailadressen wordt gevraagd

Opmerkingen:

1) Als u niet wilt dat bovenstaand dialoogvenster verschijnt en u het bereik van E-mailadres direct in de code wilt opgeven, vervangt u deze regel:
Set xRg = Application.InputBox("Please select the addresses list:", „Kutools for Excel", xTxt, , , , , 8)
door
Set xRg = Range("A2:A7")
2) U kunt uw eigen E-mailonderwerp en tekst 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 nieuwe berichtvenster te openen, moet u deze regel vervangen:
.Display
door
.Send

Nadat de code is uitgevoerd, worden alle e-mailadressen in het geselecteerde bereik weergegeven in het veld Aan van het berichtvenster. Zie afbeelding:

Een schermafbeelding van het e-mailberichtvenster met alle e-mailadressen ingevuld in het Aan-veld


1,2.2 Afzonderlijke e-mails verzenden naar elke ontvanger in cellen met een VBA-script

Met de bovenstaande code worden alle e-mailadressen in het geselecteerde bereik toegevoegd aan het veld Aan van het berichtvenster. Als u afzonderlijke e-mails wilt verzenden naar elk adres in de cellen, zonder dat ontvangers elkaars e-mailadres kunnen zien, kunt u het volgende VBA-script gebruiken.

1. Druk in het werkblad met alle e-mailadressen waarnaar u e-mails wilt verzenden op de toetsencombinatie 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 de volgende code in het modulevenster (Code).

VBA-code: afzonderlijke e-mails verzenden naar elk Adreslijst in de cellen

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' > 'Referenties'. Zoek in het dialoogvenster 'Referenties – VBAProject' de optie 'Microsoft Outlook 16.0 Object Library', schakel het bijbehorende selectievakje in en klik op 'OK' om uw wijzigingen op te slaan.

Een schermafbeelding van het dialoogvenster 'Referenties – VBAProject' in Excel met de optie Microsoft Outlook 16.0 Object Library geselecteerd

4. Druk op de F5-toets om de code uit te voeren. Het dialoogvenster „Kutools voor Excel” verschijnt. Selecteer de lijst met e-mailadressen en klik op „OK”.

Een schermafbeelding van het 'Kutools for Excel'-dialoogvenster waarin om de selectie van de e-mailadreslijst wordt gevraagd

Opmerkingen:

1) Als u niet wilt dat bovenstaand dialoogvenster verschijnt en u het bereik van E-mailadres direct in de code wilt opgeven, vervangt u deze regel:
Set xRg = Application.InputBox("Please select the addresses list:", „Kutools for Excel", xTxt, , , , , 8)
door
Set xRg = Range("A2:A7")
2) U kunt uw eigen E-mailonderwerp en tekst 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, moet u deze regel vervangen:
.Display
door
.Send

In dit voorbeeld staan er zes e-mailadressen in het geselecteerde bereik, waardoor automatisch zes Outlook-berichtvensters worden geopend—ieder met een uniek adres in het veld Aan, zoals te zien is in de afbeelding hieronder.

Een schermafbeelding van meerdere Outlook-berichtvensters met afzonderlijke e-mailadressen in het Aan-veld

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


2. Voeg een bijlage in of voeg uw Outlook-handtekening toe aan e-mails die vanuit Excel worden verzonden (met VBA-scripts).

In deze sectie leest u hoe u een bijlage kunt invoegen of de standaard Outlook-handtekening toevoegt aan e-mails die u vanuit Excel verzendt.

2,1 Bijlage invoegen in e-mails verzonden vanuit Excel

Hier beschrijven we verschillende scenario’s voor het invoegen van een bijlage; kies de methode die het beste aansluit bij uw behoeften. In deze sectie leert u hoe u (klik op een van de volgende koppelingen om direct naar de desbetreffende methode te gaan):


2,1.1 Een bepaald bestand als bijlage e-mailen

U kunt de volgende VBA-code gebruiken om één of meer bestanden uit een map als e-mailbijlagen vanuit Excel te verzenden.

1. Druk op de toetsencombinatie Alt + F11.

2. Klik in het geopende venster „Microsoft Visual Basic for Applications" op **Invoegen** > **Module** en plak daarna de volgende VBA-code in het modulevenster (Code).

VBA-code: Bestanden in een map als bijlagen vanuit Excel per e-mail verzenden

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) Vervang in de regel „.To = xxx@aaa.com“ „xxx@aaa.com“ door het E-mailadres van uw eigen ontvanger;
2) Pas het E-mailonderwerp en de e-mailtekst afzonderlijk aan in de regels „.Subject = "test"“ en „.HTMLBody = "test"“;
3) U kunt desgewenst cc- en bcc-ontvangers toevoegen. Voeg hiervoor de volgende twee regels toe onder de regel „.To = xxx@aaa.com“.
.CC = „email address"
.BCC = „email address"

3. Klik vervolgens op **Extra** > **Verwijzingen**. Zoek in het dialoogvenster **Verwijzingen – VBAProject** het vakje **Microsoft Outlook 16,0 Objectbibliotheek**, schakel dit in en klik op **OK** om de wijzigingen op te slaan.

Een schermafbeelding van het dialoogvenster 'Referenties – VBAProject' in Excel met de optie Microsoft Outlook 16.0 Object Library geselecteerd

4. Druk op de toets "F5" om de code uit te voeren. Er verschijnt dan een „Bladeren"-venster: selecteer de bestanden die u als bijlage aan de e-mail wilt toevoegen en klik op „OK".

Een schermafbeelding van het 'Bladeren'-venster voor het selecteren van bestanden om als bijlage aan een e-mail in Excel toe te voegen

Vervolgens verschijnt een berichtvenster waarin u ziet dat de geselecteerde bestanden als bijlagen worden weergegeven in het veld Bijlagen.

Een schermafbeelding van het Outlook-berichtvenster met de geselecteerde bestanden weergegeven als bijlagen


2,1.2 De Huidig werkblad als bijlage per e-mail verzenden

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

1. Druk op de toetsencombinatie Alt + F11.

2. Klik in het geopende venster „Microsoft Visual Basic for Applications" op **Invoegen** > **Module** en plak daarna de volgende VBA-code in het venster **Module (Code)**.

VBA-code: De Huidig werkblad als bijlage per e-mail verzenden

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) Vervang in de regel „.To = xxx@aaa.com“ „xxx@aaa.com“ door het E-mailadres van de daadwerkelijke ontvanger. Als u meer dan één E-mailadres nodig hebt, scheidt u deze met puntkomma’s.
2) Pas het E-mailonderwerp en de e-mailtekst afzonderlijk aan in de regels „.Subject = "kte features"“ en „.Body = " Please check and read this document."“;
3) In de volgende twee regels:
.CC = „email address"
.BCC = „email address"
Als u cc- en bcc-ontvangers wilt toevoegen, vervangt u de tekst „"E-mailadres"“ in de regels door de E-mailadres die u nodig hebt.
Als u geen cc- en bcc-ontvangers nodig hebt, plaatst u gewoon een apostrof 'voor elke regel.

3. Druk op de F5-toets om de code uit te voeren. Het huidige werkblad wordt dan automatisch opgeslagen als een Excel-werkboek en direct als bijlage ingevoegd in een nieuw berichtvenster. Zie screenshot:

Een schermafbeelding van het Outlook-berichtvenster met het huidige werkblad opgeslagen en als Excel-werkmap bijgevoegd

Opmerking: De bijgevoegde werkmap, die uitsluitend het huidige werkblad bevat, draagt dezelfde naam als de oorspronkelijke werkmap. Daarnaast wordt het tijdstip van uitvoering van de code automatisch toegevoegd aan de werkboeknaam.


2,1.3 De Huidig werkboek als bijlage per e-mail verzenden

Nadat u de VBA-code hebt geleerd om het huidige werkblad als bijlage vanuit Excel per e-mail te verzenden, bieden we hier een ander VBA-script waarmee u de volledige werkmap als bijlage kunt versturen. Volg hiervoor de onderstaande stappen.

1. Druk op de toetsencombinatie Alt + F11.

2. Klik in het geopende venster „Microsoft Visual Basic for Applications" op **Invoegen** > **Module** en plak daarna de volgende VBA-code in het modulevenster (Code).

VBA-code: De Huidig werkboek als bijlage vanuit Excel per e-mail verzenden

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) Vervang in de regel „.To = xxx@aaa.com“ „xxx@aaa.com“ door het E-mailadres van de daadwerkelijke ontvanger. Als u meer dan één E-mailadres nodig hebt, scheidt u deze met puntkomma’s.
2) Pas het E-mailonderwerp en de e-mailtekst afzonderlijk aan in de regels „.Subject = "kte features"“ en „.Body = " Please check and read this document."“;
3) In de volgende twee regels:
.CC = „email address"
.BCC = „email address"
Als u cc- en bcc-ontvangers wilt toevoegen, vervangt u de tekst „"E-mailadres"“ in de regels door de E-mailadres die u nodig hebt.
Als u geen cc- en bcc-ontvangers nodig hebt, plaatst u gewoon een apostrof ' voor elke regel.

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

Een schermafbeelding van het Outlook-berichtvenster met de huidige werkmap automatisch bijgevoegd


2,1.4 De volledige werkmap als PDF-bijlage per e-mail verzenden

De meeste mensen slaan een Excel-werkboek eerst op als PDF-bestand en e-mailen het daarna als bijlage. In deze sectie laat ik u zien hoe u direct vanuit Excel een e-mail kunt versturen met de huidige geopende werkmap als PDF-bijlage — zonder dat u handmatig het bestand hoeft op te slaan als PDF.

1. Druk op de toetsencombinatie Alt + F11.

2. Klik in het geopende venster "Microsoft Visual Basic for Applications" op "Invoegen" > „Module" en plak daarna de volgende VBA-code in het modulevenster (Code).

VBA-code: De volledige werkmap als PDF-bijlage per e-mail verzenden

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) Vervang in de regel „.To = xxx@aaa.com“ „xxx@aaa.com“ door het E-mailadres van de daadwerkelijke ontvanger. Als u meer dan één E-mailadres nodig hebt, scheidt u deze met puntkomma’s.
2) Pas het E-mailonderwerp en de e-mailtekst afzonderlijk aan in de regels .Subject = "test" en .Body = "test";
3) In de volgende twee regels:
.CC = „Email Address"
.BCC = „Email Address"
Als u cc- en bcc-ontvangers wilt toevoegen, vervangt u de tekst „"E-mailadres"“ in de regels door de E-mailadres die u nodig hebt.
Als u geen cc- en bcc-ontvangers nodig hebt, plaatst u gewoon een apostrof ' voor elke regel.
4) De naam van de PDF-bestanden is hetzelfde als de naam van de oorspronkelijke werkmap. Bovendien wordt het tijdstip waarop u de code uitvoert ook aan de Werkboeknaam toegevoegd. Als u de tijdsaanduiding niet aan de bestandsnaam wilt toevoegen, verwijdert u & Format(Now, „dd-mmm-yy h-mm-ss") uit de volgende regel.
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -[[PH_372]], vbTextCompare) - [[PH_371]])) & Format(Now, "dd-mmm-yy h-mm-ss") & „.pdf"

3. Druk op de toets "F5" om de code uit te voeren. Vervolgens wordt het huidige werkboek automatisch als PDF-bijlage ingevoegd in een nieuw berichtvenster. Zie screenshot:

Een schermafbeelding van het Outlook-berichtvenster met de huidige werkmap bijgevoegd als PDF-bestand


2,1.5 De Huidig werkblad als PDF-bijlage per e-mail verzenden

Stel dat u een werkmap hebt met de naam „Maandelijkse verkoop” en dat u in het werkblad „verkooprapport” een verkooprapporttabel hebt voltooid. U wilt dit werkblad eenvoudig als PDF-bestand naar uw collega’s versturen — en dat kan met de volgende VBA-code.

1. Druk op de toetsencombinatie Alt + F11.

2. Klik in het geopende venster „Microsoft Visual Basic for Applications" op **Invoegen** > **Module** en plak daarna de volgende VBA-code in het Module-venster (Code).

VBA-code: De Huidig werkblad als PDF-bijlage per e-mail verzenden

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) Vervang in de regel „.To = xxx@aaa.com“ „xxx@aaa.com“ door het E-mailadres van de daadwerkelijke ontvanger. Als u meer dan één E-mailadres nodig hebt, scheidt u deze met puntkomma’s.
2) Pas het E-mailonderwerp en de e-mailtekst afzonderlijk aan in de regels .Subject = "test" en .Body = "test";
3) In de volgende twee regels:
.CC = „Email Address"
.BCC = „Email Address"
Als u cc- en bcc-ontvangers wilt toevoegen, vervangt u de tekst „"E-mailadres"“ in de regels door de E-mailadres die u nodig hebt.
Als u geen cc- en bcc-ontvangers nodig hebt, plaatst u gewoon een apostrof ' voor elke regel.
4) De naam van de PDF-bestanden is: de naam van de oorspronkelijke werkmap_de naam van het oorspronkelijke werkblad. In dit geval is de naam van de PDF Monthly sales_sales report.

3. Druk op de toets "F5" om de code uit te voeren. Het huidige werkblad wordt vervolgens automatisch als PDF-bijlage ingevoegd in een nieuw berichtvenster. Zie screenshot:

Een schermafbeelding van het Outlook-berichtvenster met het huidige werkblad bijgevoegd als PDF-bestand


2,2 Outlook-handtekening invoegen in e-mails verzonden vanuit Excel

Neem het bovenstaande voorbeeld: u past de eerder genoemde VBA-code toe om het huidige werkblad als PDF-bijlage vanuit Excel te verzenden, maar de Outlook-handtekening wordt niet automatisch toegevoegd aan het e-mailvenster. Met de volgende methode behoudt u de standaardhandtekening van Outlook in de e-mail die u vanuit Excel verzendt.

Hieronder staan twee VBA-codes.

VBA-code 1: Deze code zorgt ervoor dat uw Outlook-handtekening behouden blijft.

VBA-code 2: Deze code helpt u het huidige werkblad als PDF-bijlage per e-mail te verzenden.

VBA-code 1: Outlook-handtekening behouden

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

VBA-code 2: De Huidig werkblad als PDF-bijlage per e-mail verzenden

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. Druk normaal gesproken op de toetsencombinatie 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 de bovenstaande VBA-code 2 in het modulevenster (Code).

3. Om de standaardhandtekening van Outlook te behouden in e-mails die u vanuit Excel verzendt, past u VBA-code 2 als volgt aan:

1) Vervang de regel „.Body“ door „VBA code 1“;
2) Plaats de regel „.Display“ onder de regel „With OutlookMail (of With xMailOut in andere codes)“. Zie schermafbeelding:

Een schermafbeelding waarin de gewijzigde VBA-code wordt getoond, met de .Body-regel vervangen en .Display onder With OutlookMail geplaatst

Hier is de volledige, aangepaste code.

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. Vervolgens verschijnt er een nieuw berichtvenster met het huidige werkblad als PDF-bijlage, terwijl de standaardhandtekening van Outlook automatisch aan het einde van de e-mailtekst wordt toegevoegd.

Een schermafbeelding van een e-mail in Outlook met de standaardhandtekening automatisch ingevoegd aan het einde van de e-mailtekst


3. Stuur automatisch e-mails vanuit Excel zodra aan een voorwaarde is voldaan (met VBA-scripts)

In de bovenstaande voorbeelden voert u de code handmatig uit om de e-mail te verzenden. Wilt u de code echter automatisch activeren zodra aan een bepaalde voorwaarde is voldaan – bijvoorbeeld wanneer een cel een specifieke waarde bereikt, wanneer de waarde van een cel verandert, of wanneer een bepaalde datum is aangebroken – dan wordt de e-mail automatisch verzonden. In deze sectie vindt u de voorwaarden die Excel-gebruikers vaak op Google zoeken, zodat u e-mails automatisch kunt versturen vanuit Excel zodra aan een voorwaarde is voldaan.

3,1 Automatisch een e-mail verzenden wanneer een cel een bepaalde waarde bereikt

Zoals in de onderstaande screenshot te zien is, stel dat u een verkoopoverzicht hebt met in cel D6 het totaalbedrag van de verkopen. U wilt automatisch een e-mail naar uw baas verzenden op basis van dit bedrag: bijvoorbeeld automatisch een e-mail aanmaken of versturen wanneer het verkoopbedrag hoger is dan 10.000, en geen actie ondernemen als het bedrag gelijk is aan of lager dan 10.000.

1. Klik met de rechtermuisknop op het tabblad van het werkblad met het verkoopoverzicht en kies ‘Code weergeven’ in het contextmenu.

2. Plak in het venster „Microsoft Visual Basic for Applications" dat wordt geopend, de volgende VBA-code in het venster Blad (Code).

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

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 u een e-mail verzendt op basis van de waarde.
2) „> 10000“ is de voorwaarde, wat betekent dat er een e-mail wordt verzonden wanneer de waarde in D6 groter is dan 10000.
3) „Range(“D6”)“ in de volgende regel betekent dat de e-mailtekst verwijst naar de waarde in D6.
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
4) Vervang in de regel „.To = xxx@aaa.com“ „xxx@aaa.com“ door het E-mailadres van de daadwerkelijke ontvanger. Als u meer dan één E-mailadres nodig hebt, scheidt u deze met puntkomma’s.
5) Pas het E-mailonderwerp aan in de regel .Subject = „test".
6) In de volgende twee regels:
.CC = „Email Address"
.BCC = „Email Address"
Als u cc- en bcc-ontvangers wilt toevoegen, vervangt u de tekst „"E-mailadres"“ in de regels door de E-mailadres die u nodig hebt.
Als u geen cc- en bcc-ontvangers nodig hebt, plaatst u gewoon een apostrof ' voor elke regel.

Vanaf nu wordt automatisch een e-mail aangemaakt wanneer de waarde in cel D6 hoger is dan 10.000, zoals te zien is in de onderstaande screenshot.

Een schermafbeelding van een e-mail die in Outlook is gemaakt wanneer de waarde in cel D6 in Excel groter is dan 10000


3,2 Automatisch een e-mail verzenden wanneer de waarde van een cel verandert

Zoals in de onderstaande screenshot te zien is, stel dat u een werkmap ontvangt met maandelijkse verkoopcijfers verspreid over verschillende werkbladen en het totale verkoopbedrag op een apart werkblad. U dient dit verkoopbedrag te controleren en, indien gewijzigd, de werkmap direct terug te sturen naar de afzender met de melding dat de cel is aangepast.

1. Klik met de rechtermuisknop op het bladtabblad van het werkblad met de verkoopgegevens en kies 'Code weergeven' in het contextmenu.

2. Plak in het venster „Microsoft Visual Basic for Applications" dat wordt geopend, de volgende VBA-code in het venster Blad (Code).

VBA-code: Automatisch een e-mail verzenden wanneer de waarde van een opgegeven cel 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 er een e-mail wordt verzonden wanneer de waarde van cel B14 verandert.
2) Vervang in de regel „.To = xxx@aaa.com“ „xxx@aaa.com“ door het E-mailadres van de daadwerkelijke ontvanger. Als u meer dan één E-mailadres nodig hebt, scheidt u deze met puntkomma’s.
3) Pas het E-mailonderwerp aan in de regel .Subject = „Worksheet modified".
4) In de volgende twee regels:
.CC = „Email Address"
.BCC = „Email Address"
Als u cc- en bcc-ontvangers wilt toevoegen, vervangt u de tekst „"E-mailadres"“ in de regels door de E-mailadres die u nodig hebt.
Als u geen cc- en bcc-ontvangers nodig hebt, plaatst u gewoon een apostrof ' voor elke regel.

Vanaf nu wordt er automatisch een Outlook-bericht gemaakt zodra de waarde in cel B14 wijzigt, zoals te zien is in de onderstaande screenshot.

Een schermafbeelding van een e-mail die in Outlook is gemaakt wanneer de waarde in cel B14 verandert


3,3 Automatisch een e-mail verzenden wanneer een werkmap wordt opgeslagen

Als u een werkmap hebt die na wijziging met anderen moet worden gedeeld, moet u normaal gesproken de werkmap opslaan, de e-mailclient starten, een Nieuwe Email aanmaken met deze werkmap als bijlage, de overeenkomstige velden invullen en de e-mail verzenden. In deze sectie wordt een methode beschreven om automatisch een e-mail aan te maken telkens wanneer u de werkmap opslaat. Volg hiervoor de onderstaande stappen.

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

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

VBA-code: Automatisch een e-mail verzenden wanneer een werkmap 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) Vervang in de regel „.To = xxx@aaa.com“ „xxx@aaa.com“ door het E-mailadres van de daadwerkelijke ontvanger. Als u meer dan één E-mailadres nodig hebt, scheidt u deze met puntkomma’s.
2) Pas het E-mailonderwerp en de tekst afzonderlijk aan in de regels „.Subject = "The workbook has been updated"" and ".Body = "Hi," & Chr([[PH_422]]) & Chr(13) & "File is now updated."“.
3) In de volgende twee regels:
.CC = „Email Address"
.BCC = „Email Address"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervangt u de tekst „E-mailadres” in de regels door de E-mailadres die u nodig hebt.
Als u de cc- en bcc-ontvangers niet nodig hebt, plaatst u gewoon een apostrof ' voor elke regel.

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

Een schermafbeelding van een Outlook-e-mail met de huidige werkmap als bijlage, klaar om automatisch te worden verzonden

Tip: Als u deze werkmap regelmatig gebruikt, raden we u aan deze op te slaan als een ‘Excel-werkmap met macro’s ingeschakeld’, zodat het VBA-script bewaard blijft voor toekomstig gebruik. Volg hiervoor de onderstaande stappen.

1) Klik op "Bestand" > „Opslaan als" en kies vervolgens een map om het bestand op te slaan.
2) Hernoem het bestand in het dialoogvenster „Opslaan als" naar wens in het tekstvak "Bestandsnaam", kies „Werkmap met macro's van Excel" in de Keuzelijst „Opmaak opgeven voor opslaan" en klik ten slotte op de knop „Opslaan". Zie schermafbeelding:

Een schermafbeelding van het dialoogvenster 'Opslaan als' in Excel waarin de optie wordt getoond om de werkmap op te slaan als een Excel-werkmap met macro's


3,4 Automatisch een e-mail verzenden op een specifiek tijdstip

Stel dat u elke vrijdagochtend om 9,00 uur automatisch een e-mail met een werkmap voor taaktoewijzing naar iemand wilt verzenden — zonder handmatig uw e-mailclient te hoeven bedienen. In deze sectie leest u hoe u dat in Excel kunt regelen.

1. Druk op de toetsencombinatie 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 daarna de volgende VBA-code in het modulevenster.

VBA-code1: E-mail de Huidig werkboek als bijlage vanuit Excel

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 deelvenster „Project” en plak vervolgens de volgende VBA-code in het venster „ThisWorkbook (Code)”.

Een schermafbeelding van de VBA-code-editor met de gebeurtenis 'Workbook_Open' en de functie 'Application.OnTime' om het verzenden van e-mails te plannen

VBA-code 2: Automatisch een e-mail verzenden op een bepaald tijdstip

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

Opmerkingen:

1) In VBA-code 1 betekent „vrijdag" in de volgende regel dat de e-mail automatisch elke vrijdag wordt verzonden;
If Weekday(Date) = vbFriday Then
2) In VBA-code 1 en VBA-code 2 betekent het tijdstip "09:00:00" dat de e-mail om 9:00 uur op een bepaalde dag wordt verzonden.
U kunt de dag en het tijdstip naar wens wijzigen.
3) Wanneer de code wordt uitgevoerd, wordt er een e-mail gemaakt. Als u het berichtvenster niet wilt laten verschijnen en de e-mail direct wilt verzenden, verwijdert u de regel „.Display" uit de VBA-code 1 en verwijdert u de „apostrof" voor de regel ‘.Send.

4. Sla de codes op en sla de werkmap daarna op als een macro-inschakelbare Excel-werkmap, zoals hieronder beschreven.

4,1) Klik op "Bestand" > „Opslaan als" en kies vervolgens een map om het bestand op te slaan.
4,2) Hernoem het bestand in het dialoogvenster „Opslaan als" naar wens in het tekstvak "Bestandsnaam", kies „Werkmap met macro's van Excel" in de Keuzelijst „Opmaak opgeven voor opslaan" en klik ten slotte op de knop „Opslaan". Zie schermafbeelding:

Een schermafbeelding van het dialoogvenster 'Opslaan als' in Excel waarin de optie wordt getoond om de werkmap op te slaan als een Excel-werkmap met macro's

5. Open uw opgeslagen macro-inschakelbare werkmap; op het juiste moment wordt er automatisch een e-mail gemaakt of verzonden.


4. Aanvullende onderwerpen

Deze sectie bundelt andere onderwerpen die u mogelijk tegenkomt bij het verzenden van e-mails vanuit Excel.

4,1 Een celbereik vanuit Excel e-mailen (met VBA-script)

Stel dat u een maandelijkse verkoopstabel hebt in een Excel-werkblad, zoals in de afbeelding hieronder, en u deze tabel wilt delen met anderen — ofwel als e-mailtekst of direct als bijlage. Daarvoor bieden we u twee methoden aan.

4,1.1 Een celbereik als onderdeel van de e-mailtekst vanuit Excel verzenden

U kunt de volgende VBA-code uitvoeren om een celbereik rechtstreeks als onderdeel van de e-mailtekst vanuit Excel te verzenden.

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

2. Klik in het venster „Microsoft Visual Basic for Applications” op „Extra” > „Referenties”, schakel vervolgens het selectievakje „Microsoft Outlook 16,0 Object Library” in en klik op „OK” in het dialoogvenster „Referenties – VBAProject”.

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

VBA-code: Een celbereik als onderdeel van de e-mailtekst 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) Vervang in de regel „.To = xxx@aaa.com" „xxx@aaa.com” door het echte E-mailadres van de ontvanger. Als u meer dan één E-mailadres nodig hebt, scheidt u deze met puntkomma’s.
2) In de volgende twee regels:
.CC = „Email Address"
.BCC = „Email Address"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervangt u de tekst „E-mailadres” in de regels door de E-mailadres die u nodig hebt.
Als u de cc- en bcc-ontvangers niet nodig hebt, plaatst u gewoon een apostrof ' voor elke regel.

4. Druk op de F5-toets om de code uit te voeren. Selecteer in het dialoogvenster „Kutools voor Excel” het celbereik dat u als onderdeel van de e-mailtekst wilt verzenden en klik op „OK”. Zie afbeelding:

Een schermafbeelding van het Kutools for Excel-dialoogvenster waarin een celbereik wordt geselecteerd om als onderdeel van de e-mailtekst te verzenden

Er wordt automatisch een Outlook-e-mail aangemaakt, waarin het bereik dat u in het werkblad hebt geselecteerd, direct in de e-mailtekst is ingevoegd. Zie afbeelding:

Een schermafbeelding van een Outlook-e-mail met het geselecteerde bereik uit Excel ingevoegd in de e-mailtekst


4,1.2 Een celbereik als bijlage vanuit Excel e-mailen

Wilt u een celbereik uit een werkblad als bijlage per e-mail versturen vanuit Excel? Probeer dan de volgende VBA-code.

1. Druk op de toetsencombinatie Alt + F11.

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

VBA-code: Een celbereik 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) Vervang in de regel „.To = xxx@aaa.com" „xxx@aaa.com” door het echte E-mailadres van de ontvanger. Als u meer dan één E-mailadres nodig hebt, scheidt u deze met puntkomma’s.
2) Wijzig het E-mailonderwerp en de e-mailtekst afzonderlijk in de regels „.Subject = "Maandelijkse verkoop voor 2021"" en ".Body = "Hallo, controleer en lees dit document."";
3) In de volgende twee regels:
.CC = „email address"
.BCC = „email address"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervangt u de tekst „E-mailadres” in de regels door de E-mailadres die u nodig hebt.
Als u de cc- en bcc-ontvangers niet nodig hebt, plaatst u gewoon een apostrof ' voor elke regel.

3. Druk op de F5-toets om de code uit te voeren. Selecteer in het dialoogvenster „Kutools voor Excel” het celbereik dat u als bijlage in een e-mail wilt verzenden en klik op „OK”. Zie afbeelding:

Een schermafbeelding van het Kutools for Excel-dialoogvenster waarin een celbereik wordt geselecteerd om als bijlage in een e-mail te verzenden

Er wordt automatisch een Outlook-e-mail gemaakt, waarbij het door u geselecteerde celbereik uit het werkblad wordt opgeslagen als een Excel-werkboek en als bijlage aan het berichtvenster wordt toegevoegd. Zie afbeelding:

Een schermafbeelding van een Outlook-e-mail met het geselecteerde bereik uit Excel opgeslagen als bijlage


4,2 E-mails verzenden wanneer op een knop in Excel wordt geklikt

Als u op een opdrachtknop wilt klikken om een macro te activeren die een e-mail vanuit Excel verzendt – bijvoorbeeld om het huidige werkboek als bijlage naar anderen te sturen door simpelweg op een knop in het werkblad te klikken – volgt u deze stappen.

1. Klik op „Ontwikkelaar” > „Invoegen” > „Opdrachtknop (ActiveX-besturingselement)” en teken daarna een opdrachtknop in het werkblad.

Tip: Als u al een opdrachtknop heeft, kunt u deze stap overslaan.

2. Druk op de toetsencombinatie „Alt” + „F11” om het venster „Microsoft Visual Basic for Applications” te openen. Klik vervolgens op „Invoegen” > „Module” en plak de VBA-code (de code waarmee het huidige werkboek als bijlage vanuit Excel wordt gemaild) in het venster „Module (Code)”.

Klik hier om de code te ontvangen.

Opmerking: De naam van de macro die u in stap 2 hebt gemaakt, is „SendWorkbook”.

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

4. Wijs nu de macro toe aan de opdrachtknop. Klik met de rechtermuisknop op de knop en kies ‘Code weergeven’ in het contextmenu.

5. Het venster „Microsoft Visual Basic for Applications” verschijnt, waarin u de volgende twee regels ziet weergegeven in het venster „Blad (Code)”.

Private Sub CommandButton1_Click()
End Sub

Een schermafbeelding van het Microsoft Visual Basic for Applications-venster met de CommandButton1_Click-code

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

Een schermafbeelding van het bewerken van de VBA-code om een bestaande macro aan de opdrachtknop toe te wijzen

7. Druk op de toetsencombinatie „Alt” + „Q” om de „Visual Basic Editor” te sluiten en klik op „Ontwikkelaar” > „Ontwerpmodus” om de ontwerpmodus uit te schakelen.

Een schermafbeelding van het uitschakelen van de ontwerpmodus op het tabblad Ontwikkelaar

U kunt nu op de opdrachtknop klikken om een e-mail te verzenden met het huidige werkboek als bijlage.


4,3 E-mails verzenden vanaf een opgegeven e-mailaccount

Normaal gesproken gebruikt Excel bij het verzenden van een e-mail via VBA-code het standaardaccount van Outlook als afzender. Maar wat als u meerdere e-mailaccounts in Outlook heeft ingesteld en liever een specifiek account wilt gebruiken om e-mails vanuit Excel te versturen? De volgende VBA-code helpt u daarbij.

De volgende codes zijn in dit geval essentieel.

VBA-code 1:

Dim OutlookMail As Outlook.MailItem

VBA-code 2:

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 de bovenstaande VBA-codes?

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

In dit voorbeeld geven we een specifiek e-mailaccount op om het huidige werkboek als bijlage vanuit Excel te verzenden. Volg hiervoor de onderstaande stappen.

1. Druk op de toetsencombinatie Alt + F11. Klik in het venster Microsoft Visual Basic for Applications op Extra > Referenties, schakel het selectievakje Microsoft Outlook 16,0 Object Library in en klik op OK in het dialoogvenster Referenties – VBAProject.

Een schermafbeelding van het dialoogvenster 'Referenties – VBAProject' in Excel met de optie Microsoft Outlook 16.0 Object Library geselecteerd

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

VBA-code: De Huidig 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 F5-toets om de code uit te voeren. Er verschijnt dan een Outlook-e-mailbericht met het veld „Van” automatisch 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—zoals in de onderstaande afbeelding, waarin een projecttabel is weergegeven—dan wordt er automatisch een e-mail gestuurd naar de betreffende projectleiders wanneer de vervaldatum in het bereik E2:E7 gelijk is aan of minder dan 7 dagen vanaf vandaag (uitgaande van 4-8-2022 als huidige datum), met de melding dat het project bijna verloopt.

1. Klik met de rechtermuisknop op het tabblad van het werkblad dat de projecttabel bevat en kies ‘Code weergeven’ in het contextmenu.

2. Plak in het venster „Microsoft Visual Basic for Applications" dat wordt geopend, de volgende VBA-code in het venster „Blad (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 Vervaldatum waarop u e-mails zult baseren. "C2:C7" bevat de E-mailadres waarnaar u e-mails zult sturen. En "D2:D7" bevat de opmerkingen die u aan de e-mailtekst zult toevoegen om de ontvangers te informeren dat het project bijna verloopt. U kunt de bereiken naar wens wijzigen.
Set xRgDate = Range("E2:E7")
Set xRgSend = Range("C2:C7")
Set xRgText = Range("D2:D7")
2) De volgende regel betekent dat de Vervaldatum groter moet zijn dan 1 dag en kleiner dan of gelijk aan 7 dagen vanaf vandaag. U kunt dit naar wens wijzigen.
If CDate(xRgDateVal) - Date 0 Then
3) Vervang in de regel „.To = xxx@aaa.com" „xxx@aaa.com” door het echte E-mailadres van de ontvanger. Als u meer dan één E-mailadres nodig hebt, scheidt u deze met puntkomma’s.
4) Wijzig het E-mailonderwerp in de regel „.Subject = "Werkblad gewijzigd"".
5) In de volgende twee regels:
.CC = „Email Address"
.BCC = „Email Address"
Als u de cc- en bcc-ontvangers wilt toevoegen, vervangt u de tekst „E-mailadres” in de regels door de E-mailadres die u nodig hebt.
Als u de cc- en bcc-ontvangers niet nodig hebt, plaatst u gewoon een apostrof ' voor elke regel.

3. Druk op de F5-toets om de code uit te voeren. Als de vervaldatum aan de voorwaarden voldoet, wordt de bijbehorende e-mail automatisch gegenereerd. In dit geval worden er twee e-mails aangemaakt, zoals te zien is in de afbeelding hieronder.

Een schermafbeelding van twee automatisch gemaakte e-mails op basis van overeenkomende vervaldatumvoorwaarden in Excel


5. Een handige tool om e-mails moeiteloos vanuit Excel te verzenden

Als u nieuw bent met VBA, zijn de bovenstaande methoden mogelijk niet eenvoudig voor u. Wij raden daarom de functie aan.E-mails verzenden van „Kutools voor Excel” aan. Met deze functie verzendt u e-mails vanuit Excel in slechts enkele klikken. Volg hiervoor de onderstaande stappen.

Kutools voor Excelbiedt meer dan 300 geavanceerde functies om complexe taken te stroomlijnen, waardoor creativiteit en efficiëntie worden verhoogd.Geïntegreerd met AI-mogelijkheden, automatiseert Kutools taken met precisie, zodat databeheer moeiteloos verloopt.Gedetailleerde informatie over Kutools voor Excel...         Gratis proefversie...
5,1 Maak eenvoudig een E-maillijst met de e-mailvelden die u nodig hebt

Voordat u de functie „E-mails verzenden” gebruikt, dient u eerst een e-maillijst aan te maken met de vereiste e-mailvelden. Daarvoor kunt u de functie „Mailinglijst maken” toepassen.

1. Klik op „KUTOOLS PLUS” > „Mailinglijst maken”.

2. Configureer in het geopende venster „Mailinglijst maken” het volgende:

2,1) Schakel in het gedeelte „Selecteer kolommen om op te nemen in de mailinglijst" de velden in die u in uw e-mail nodig hebt;
2,2) Schakel in het gedeelte „Bijlage" één of meer bijlagen in die u mogelijk nodig hebt;
2,3) Geef een locatie op waar u de E-maillijst wilt plaatsen;
2,4) Klik op de knop „Maken". Zie schermafbeelding:

Er wordt vervolgens een voorbeeldtabel ‘E-maillijst’ gemaakt, zoals te zien is in de onderstaande afbeelding.

3. Vervang nu de voorbeeldgegevens door uw eigen veldgegevens.

U hebt nu een e-maillijsttabel gemaakt. Ga verder met het gebruik van de functie „E-mails verzenden” om e-mails rechtstreeks vanuit Excel te versturen op basis van de velden die u heeft ingesteld.

Kutools voor Excel– Geef Excel een boost met meer dan 300 essentiële hulpmiddelen, waardoor uw werk sneller en eenvoudiger verloopt, en profiteer van AI-functies voor slimmere gegevensverwerking en productiviteit.Nu verkrijgen


5,2 Stuur e-mails eenvoudig met de velden die u hebt gemaakt in de E-maillijst

Nadat u de e-maillijst hebt gemaakt ()klik hier om te weten hoe), inclusief de velden die u mogelijk nodig heeft in uw e-mails, kunt u nu e-mails verzenden vanuit Excel met deze velden.

1. Selecteer de volledige e-maillijst en klik op „Kutools Plus” > „E-mails verzenden”.

2. Voer in het dialoogvenster „E-mails verzenden” de volgende configuratie uit.

2,1) De velden worden automatisch in het dialoogvenster van elk veld ingevuld op basis van de velden die u hebt opgegeven in de E-maillijst;
Tip: Als u op dit moment een bepaald veld niet nodig hebt, kiest u een lege optie in de Keuzelijst.
2,2)„Plaats houder” (optioneel): Als u variabele informatie in een e-mailtekst wilt invoegen.
Bijvoorbeeld: als u een e-mail naar meerdere ontvangers wilt sturen met een gepersonaliseerde naam voor elk, plaatst u de cursor in de e-mailtekst op de plek waar u de tijdelijke aanduiding wilt invoegen, selecteert u het veld „E: Voornaam” (of een ander naamveld uit uw mailinglijst) en klikt u op de knop Tijdelijke aanduiding invoegen;
Wanneer de ontvangers de e-mail ontvangen, blijft de e-mailtekst hetzelfde, maar zijn de namen uniek voor elk persoon.
2,3) Stel de e-mailtekst samen zoals u dat wenst;
2,4) Zorg ervoor dat het selectievakje „Verzenden via Outlook" is aangevinkt;
2,5) Klik op de knop „Verzenden". Zie schermafbeelding:

3. Vervolgens verschijnt het dialoogvenster „Kutools voor Excel” met het aantal verzonden e-mails; klik op „OK” om het venster te sluiten.

Tip: Controleer uw verzonden e-mails door naar de map „Verzonden items” in Outlook te gaan.


5,3 Stuur e-mails eenvoudig met een HTML-tekst (inclusief hyperlink, afbeelding, enz.)

Met de functie E-mails verzenden stelt u eenvoudig HTML-e-mails op, compleet met hyperlinks, afbeeldingen, diverse tekstgroottes en letterkleuren, en meer.

Nadat u een e-maillijst hebt gemaakt met de e-mailvelden die u nodig hebt, kunt u het dialoogvenster E-mails verzenden configureren en de tekst inhoudelijk verrijken met behulp van de opties op de werkbalk.

Zie onderstaande schermafbeelding:


5,4 Voeg eenvoudig de standaardhandtekening van Outlook toe bij het verzenden van e-mails

In de bovenstaande methode hebben we een VBA-code getoond waarmee u e-mails kunt verzenden met de standaardhandtekening van Outlook. Met de functie E-mails verzenden hoeft u slechts een optie aan te vinken, en de standaardhandtekening van Outlook wordt automatisch toegevoegd aan de e-mails die u vanuit Excel verzendt.

Nadat u een e-maillijst hebt gemaakt met de gewenste e-mailvelden, klikt u tijdens het configureren van het dialoogvenster E-mails verzenden op **Opties** > **Handtekeninginstellingen van Outlook gebruiken**.

Opmerking: Zorg ervoor dat het selectievinkje bij de optie ‘Handtekeninginstellingen van Outlook gebruiken’ is aangevinkt.

Wanneer ontvangers de e-mail ontvangen, verschijnt onderaan de e-mailtekst automatisch de standaardhandtekening van Outlook.


5,5 Stuur e-mails eenvoudig vanaf een specifiek e-mailaccount

Als u e-mails vanuit Excel wilt verzenden via een specifiek e-mailaccount in plaats van uw standaardaccount, maakt de functie E-mails verzenden dit eenvoudig voor u mogelijk.

Nadat u een e-maillijst hebt gemaakt met de e-mailvelden die u nodig hebt, klikt u tijdens het configureren van het dialoogvenster E-mails verzenden op **Opties** > **Verzonden van** en selecteert u vervolgens het e-mailaccount waarmee u e-mails wilt verzenden.

Opmerking: Nadat u het e-mailaccount hebt geselecteerd, verschijnt er een vinkje bij dit account.

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

Kutools voor Excel– Geef Excel een boost met meer dan 300 essentiële hulpmiddelen, waardoor uw werk sneller en eenvoudiger verloopt, en profiteer van AI-functies voor slimmere gegevensverwerking en productiviteit.Nu verkrijgen

Kort samengevat is het verzenden van e-mails vanuit Excel zeer nuttig in ons dagelijks werk. Dit artikel gaat dieper in op diverse aspecten van e-mailverzending vanuit Excel. Mocht u andere benaderingen of eenvoudigere oplossingen kennen, laat dan gerust een reactie achter om mij daarvan op de hoogte te stellen.

Beste Office-productiviteitshulpmiddelen

🤖KUTOOLS AI Assistant: Revolutioneer Data-analyse op basis van:Intelligente uitvoering   |  Genereer code|  Maak aangepaste formules  |  Analyseer gegevens en genereer grafieken|  Roep Verbeterde functies aan
Populaire functies:Zoeken, markeren of Dubbele waarden markeren   |  Verwijder lege rijen   |  Kolommen samenvoegen of cellen zonder gegevensverlies   |   Afronden zonder formule...
Super ZOEKEN:VLookup met meerdere criteria  |  VLookup met meerdere waarden  |   VLookup over meerdere werkbladen   |   Fuzzy Match....
Geavanceerde keuzelijst:Snel een keuzelijst maken   |  Afhankelijke keuzelijst   |  Keuzelijst met meervoudige selectie....
Kolombeheerder:Voeg een specifiek aantal kolommen toe|Verplaats kolommen|Wissel zichtbaarheidsstatus van verborgen kolommen|Vergelijk bereiken en kolommen...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden op basis van lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 gereedschapssets:12 Teksthulpmiddelen(Tekst toevoegen,Specifieke tekens verwijderen, ...)|   50+Grafiektypen(Gantt-diagram, ...)|   40+ Praktische formules(Leeftijd berekenen op basis van geboortedatum, ...)|   19 Invoeghulpmiddelen(QR-code Invoegen,Afbeelding invoegen vanaf pad, ...)|   12 Conversiehulpmiddelen(Omzetten naar woorden,Wisselkoersconversie, ...)|   7 Samenvoegen en splitsenhulpmiddelen(Geavanceerd samenvoegen van rijen,Cellen splitsen, ...)|... en meer
Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en 40+ andere talen!

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...


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

  • Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
  • Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!

Alle Kutools-add-ins in één installatieprogramma.

Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.

ExcelWordOutlookTabsPowerPoint
  • Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
  • Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
  • Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
  • 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
  • Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins