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) 'Change "Sheet1" to your worksheet name
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 = Application.ActiveWorkbook.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 = ""
.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
Note: Wijzig in de code het e-mailadres van de ontvanger en het onderwerp van de e-mail in de rij .Naar = "" 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:
- Hoe automatisch e-mail verzenden op basis van celwaarde in Excel?
- Hoe een handtekening in Outlook-e-mail invoegen bij verzending via VBA in Excel?
- Hoe stuur ik een e-mail op een bepaald tijdstip van een dag in Excel?
- Hoe verzend ik e-mail met HTML-e-mail in Excel?
- Hoe e-mail verzenden met het opgegeven vet / grootte / kleur / onderstreepte tekstformaat in Excel?
- E-mail verzenden zonder Outlook in Excel?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
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 honderden muisklikken voor u elke dag!