Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Diagramme per Mail verschicken
#1
Hallo liebes Forum,

ihr habt mir in der Vergangenheit schon sehr geholfen und ich brauche leider erneut eure Hilfe.
Ich möchte gerne ein Diagramm aus einer Exceltabelle automatisch per Knopfdruck verschicken. Aber nicht als Anhang, sondern in dem HTML-Code eingebunden.
Ich hab schon einiges ausprobiert, aber leider scheitere ich. Ich hab auch hier im Forum nachgeschaut, aber leider nichts gefunden. Vielleicht habt ihr eine Idee.
Aus dem Web habe ich folgenden Code gefunden (.Attachments.Add strDiaBild habe ich als Kontrolle eingefügt um zu sehen ob das Diagramm exportiert wird) :

Code:
Sub MailSenden()
  Dim objNachricht As Object
  Dim objMail As Object
  Dim strDiaBild As String
  strDiaBild = Environ$("temp") & Format(Now, "nnmmss") & ".jpg"
  DiaExportieren strDiaBild
  Set objMail = CreateObject("Outlook.Application")
  Set objNachricht = objMail.CreateItem(0)
  With objNachricht
      .To = "Deine@Mailadresse"
      .Subject = "Erinnerung"
      ' normaler Text + Tabellenausschnitt in HTML + Diagramm + weiterer normaler Text
      ' < br>< br> entspricht 2 Zeilenumbrüchen
      .HtmlBody = "Sehr geehrte Damen und Herren,< br>< br>" & _
            "Jetzt kommt ein Bild" & "< br>< br>< img src=" & strDiaBild & ">< br >< br>" & "Am Ende dann die Unterschrift"
      .Attachments.Add strDiaBild
      .ReadReceiptRequested = False
      .display
      '.send
  End With
  Set objNachricht = Nothing
  Set objMail = Nothing
  Kill strDiaBild
End Sub

Sub DiaExportieren(strBild)
    Dim chDiagramm As Chart    ' Variable für Diagramm als Objekt
'  Diagramm1 der aktiven Tabelle auf Variable schreiben
    Set chDiagramm = ActiveWorkbook.Worksheets("Mail").ChartObjects("Diagramm 1").Chart
'  Diagramm als JPG-Datei exportieren
    chDiagramm.Export Filename:=strBild, FilterName:="JPG"
End Sub


Der Code scheint auch fast zu funktionieren, im Anhang ist auch das Bild korrekt eingefügt, die Mail die rausgeht sieht aber so aus:

"

Sehr geehrte Damen und Herren,< br>< br>Jetzt kommt ein Bild< br>< br>< img src=C:\Users\alteresel\AppData\Local\Temp310141.jpg>< br >< br>Am Ende dann die Unterschrift

"

d.h. das jpg-Bild wird in der Mail nicht wiedergeben, sondern nur der temporäre Pfad.

Habt ihr vielleicht eine Idee wie ich das Bild angezeigt bekomme?

Vielen lieben Dank
Antworten Top
#2
Hallöchen,

passiert das auch, wenn Du noch

.BodyFormat = olFormatHTML

hinzufügst?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hi schauan,

vielen lieben Dank für deine Antwort.

Ich hab die Anweisung jetzt einfach in den Code eingefügt:

With objNachricht
      .To = "Deine@Mailadresse"
      .Subject = "Erinnerung"
      ' normaler Text + Tabellenausschnitt in HTML + Diagramm + weiterer normaler Text
      ' < br>< br> entspricht 2 Zeilenumbrüchen
      .BodyFormat = olFormatHTML
      .HtmlBody = "Sehr geehrte Damen und Herren,< br>< br>" & _
            "Jetzt kommt ein Bild" & "< br>< br>< img src=" & strDiaBild & ">< br >< br>" & "Am Ende dann die Unterschrift"
      .Attachments.Add strDiaBild
      .ReadReceiptRequested = False
      .display


und es kommt als Meldung

Laufzeitfehler 5: Ungültiger Prozeduraufruf oder ungültiges Argument.

Hast du vielleicht noch eine andere Idee?

Danke
Antworten Top
#4
Hallöchen,

ich glaube aber nicht, dass das an dieser Codezeile liegt …

Ansonsten hier mal noch etwas ausformuliert:

Code:
With objNachricht
      .To = "Deine@Mailadresse"
      .Subject = "Erinnerung"
      .bodyformat = olFormathTML
      ' normaler Text + Tabellenausschnitt in HTML + Diagramm + weiterer normaler Text
      ' < br>< br> entspricht 2 Zeilenumbr?chen
      .HtmlBody = "<HTML><BODY>" & "Sehr geehrte Damen und Herren," & "<br><br>" & _
            "Jetzt kommt ein Bild" & "<br><br>" & "<img src= & strDiaBild & ">" & "<br><br>" & "Am Ende dann die Unterschrift" & "</BODY></HTML>"
'      .Attachments.Add strDiaBild
      .ReadReceiptRequested = False
      .display
      '.send
  End With
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste