Note: The other languages of the website are Google-translated. Back to English
Inloggen  \/ 
x
or
x
Registreer  \/ 
x

or

Hoe stuur ik een specifieke grafiek in een e-mail met VBA in Excel?

Mogelijk weet u hoe u een e-mail verzendt via Outlook in Excel met VBA-code. Weet u echter hoe u een specifiek diagram in een bepaald werkblad aan de hoofdtekst van de e-mail moet toevoegen? In dit artikel wordt uitgelegd hoe u dit probleem kunt oplossen.

Stuur een specifieke grafiek in een e-mail in Excel met VBA-code


Stuur een specifieke grafiek in een e-mail in Excel met VBA-code


Ga als volgt te werk om een ​​specifiek diagram in een e-mail met VBA-code in Excel te verzenden.

1. In het werkblad met het diagram dat u in de hoofdtekst van de e-mail wilt toevoegen, drukt u op anders + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. In de Microsoft Visual Basic voor toepassingen venster, klik dan Invoegen > Module. Kopieer vervolgens onderstaande VBA-code naar het codevenster.

VBA-code: stuur een specifieke grafiek in een e-mail in Excel

Sub mailHTMLsend()
'Updated by Extendoffice 2018/3/5
    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xStartMsg As String
    Dim xEndMsg As String
    Dim xChartName As String
    Dim xChartPath As String
    Dim xPath As String
    Dim xChart As ChartObject
    On Error Resume Next
    xChartName = Application.InputBox("Please enter the chart name:", "KuTools for Excel", , , , , , 2)
    If xChartName = "" Then Exit Sub
    Set xChart = Sheets("Sheet1").ChartObjects(xChartName)
    If xChart Is Nothing Then Exit Sub
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xStartMsg = "<font size='5' color='black'> Good Day," & "<br> <br>" & "Please find the chart below: " & "<br> <br> </font>"
    xEndMsg = "<font size='4' color='black'> Many Thanks," & "<br> <br> </font>"
    xChartPath = ThisWorkbook.Path & "\" & Environ("USERNAME") & VBA.Format(VBA.Now(), "DD_MM_YY_HH_MM_SS") & ".bmp"
    xPath = "<p align='Left'><img src="/"cid:" & Mid(xChartPath, InStrRev(xChartPath, "\") + 1) & """  width=700 height=500 > <br> <br>"
    xChart.Chart.Export xChartPath
    With xOutMail
        .To = "xrr@163.com"
        .Subject = "Add Chart in outlook mail body"
        .Attachments.Add xChartPath
        .HTMLBody = xStartMsg & xPath & xEndMsg
        .Display
    End With
    Kill xChartPath
    Set xOutMail = Nothing
    Set xOutApp = Nothing
End Sub

Opmerking:: Wijzig in de code het e-mailadres van de ontvanger en het onderwerp van de e-mail in de rij .To = "xrr@163.com" en lijn .Subject = "Voeg diagram toe in de hoofdtekst van Outlook-mail" , Sheet1 is het blad met het diagram dat u wilt verzenden, wijzig dit dan in uw eigen blad.

3. druk de F5 sleutel om de code uit te voeren. In de opening Kutools for Excel dialoogvenster, voer de naam in van het diagram dat u wilt bijvoegen in de hoofdtekst van de e-mail en klik vervolgens op het OK knop. Zie screenshot:

Vervolgens wordt automatisch een e-mail gemaakt met de opgegeven grafiek in de hoofdtekst van de e-mail, zoals onderstaand screenshot. Klik op de knop Verzenden om deze e-mail te verzenden.


Gerelateerde artikelen:


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert elke dag honderden muisklikken voor u!
officetab onderkant
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    YOussef · 5 months ago
    It includes the chart as an attachment. Do you have any idea how to include it as a picture in the mail body itself. 
    Thank you,
    Youssef
  • To post as a guest, your comment is unpublished.
    Nitin Sharma · 8 months ago
    There is error in the code : "\") + 1) & """ width=700 height=50
    In the bold text the middle one should be a single inverted comma

  • To post as a guest, your comment is unpublished.
    Aaron Manqueo · 2 years ago
    hola como puede enviar por correo, una tabla dinámica, y no un gráfico
  • To post as a guest, your comment is unpublished.
    leigh · 2 years ago
    when i enter the chart name the mail doesn't generate the dialog box just closes, any idea what i have done wrong? I have followed each step
    • To post as a guest, your comment is unpublished.
      Borges · 2 years ago
      The issue is that we can not set names for Chart Objects like tables. You need to pass the integer ID to work. For instance, if you only have 1 chart in the "Sheet1", trying passing the value 1 when the msgbox shows up.

      PS: sorry for the bad english :]