Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ausgewählten Bereich als Bild per Email versenden.

ausgewählten Bereich als Bild per Email versenden.
20.06.2024 11:36:22
AGohla
Hallo zusammen. ich habe in einer Excel Datei ein Arbeitsblatt in dem immer im selben Bereich daten Stehen (A4 bis D4). Diese daten Werden aus einem anderen Bereich eingefügt.
Immer der letzte Eintrag aus dem anderen Arbeitsblatt.
Nun will ich diesen Bereich als Bild per Email versenden.
Hier soll auch noch ein Link auf die Datei sein enthalten sein, damit der Empfänger diese Bearbeiten kann.

Sub BestellungFB()
'updated by Extendoffice 20190815
Dim xOtl As Object
Dim xOtlMail As Object
Dim xStrBody As String
xStrBody = "Hallo, Sie haben eine neue Bestellung erhalten:" & "
" _
& "Bitte hier" & "klicken um die Bestellung zu bearbeiten" & "
" _
& "Vielen herzlichen Dank."
On Error Resume Next
Set xOtl = CreateObject("Outlook.Application")
Set xOtlMail = xOtl.CreateItem(olMailItem)
With xOtlMail
.To = "Empfänger"
.Cc = ""
.BCC = ""
.Subject = "Schnittbestellung"
.HTMLBody = .HTMLBody & xStrBody
.Display
End With
Set xOtl = Nothing
Set xOtlMail = Nothing
End Sub

wie bekomme ich hier den Bereich als Bild eingefügt?
Danke im Voraus.
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ausgewählten Bereich als Bild per Email versenden.
20.06.2024 15:56:44
volti
Hallo,

hier noch eine Idee, wie Du einen Bereich als Bild in eine eMail einfügen kannst.

PS: RangeToHTML fügt den Bereich als HTML-Tabelle ein...

Die Einfügestelle variiert entsprechend der Zeichen....

Code:


Sub BestellungFB() Dim xStrBody As String, sLink As String sLink = "<a href='MeineDatei.xlsx'>klicken</a>" xStrBody = "Hallo,¶¶Sie haben eine neue Bestellung erhalten:¶¶" _ & "Bitte hier klicken um die Bestellung zu bearbeiten¶" _ & "Vielen herzlichen Dank.¶¶" With CreateObject("Outlook.Application").CreateItem(0) .GetInspector.Display .To = "Empfänger" .Cc = "" .BCC = "" .Subject = "Schnittbestellung" .HTMLBody = Replace(Replace(xStrBody, "klicken", sLink), "", "<br>") _ & .HTMLBody On Error Resume Next Do ActiveSheet.Range("A4:D4").CopyPicture Appearance:=xlScreen, Format:=xlBitmap If Err.Number = 0 Then Exit Do Err.Clear Loop With .GetInspector.WordEditor.Application.Selection .Start = Len(xStrBody) + 30 ' Einfügeposition ggf. spielen .Paste ' Grafik in Mail einfügen End With End With End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz


Anzeige
AW: ausgewählten Bereich als Bild per Email versenden.
24.06.2024 12:33:50
AGohla
Hallo Volti,

danke für die Hilfe, ich habe deinen Code probiert. Beim ersten mal hat er super funktioniert. ab dem 2x hat die Grafik dann gefehlt.
Es dauert auch locker 10 min bis sich die Email im Entwurfs Fach befindet, ohne dass Sie tatsächlich aufgegangen ist.
Woran könnte das liegen?
Anzeige
AW: ausgewählten Bereich als Bild per Email versenden.
24.06.2024 13:03:21
volti
Hallo,

ich habe es gerade bei meinem Outlook aus Excel heraus 10 mal hintereinander laufen lassen.

Zeit unter 1 Sekunde und immer ein Bild drin.

Du hast das jetzt aber nicht innerhalb der Sub in einer Schleife laufen lassen sondern immer nur die Sub erneut aufgerufen?

Bei Mehrfachmails mittels Schleife sollte immer ein neues Mailobjekt erstellt und gelöscht werden. Hier ein Beispiel...

Ansonsten kann ich aus der Ferne jetzt keine Aussagen dazu machen.

Code:


Sub BestellungFB() Dim xStrBody As String, sLink As String, oMail As Object, i As Long sLink = "<a href='MeineDatei.xlsx'>klicken</a>" xStrBody = "Hallo,¶¶Sie haben eine neue Bestellung erhalten:¶¶" _ & "Bitte hier klicken um die Bestellung zu bearbeiten¶" _ & "Vielen herzlichen Dank.¶¶" With CreateObject("Outlook.Application") For i = 1 To 2 Set oMail = .CreateItem(0) With oMail .GetInspector.Display .to = "Empfänger" .Cc = "" .BCC = "" .Subject = "Schnittbestellung" .HTMLBody = Replace(Replace(xStrBody, "klicken", sLink), "", "<br>") _ & .HTMLBody On Error Resume Next Do ActiveSheet.Range("A4:D4").CopyPicture Appearance:=xlScreen, Format:=xlBitmap If Err.Number = 0 Then Exit Do Err.Clear Loop With .GetInspector.WordEditor.Application.Selection .Start = Len(xStrBody) + 30 ' Einfügeposition ggf. spielen .Paste ' Grafik in Mail einfügen End With End With Set oMail = Nothing Next i End With End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
AW: ausgewählten Bereich als Bild per Email versenden.
24.06.2024 13:06:36
AGohla
Hallo Volti,

nein habe es nicht als Schleife laufen lassen, sondern immer einzeln aufgerufen.
Habe den Code einmal komplett gelöscht, gespeichert und neu geladen.
habe jetzt ca. 6 min gewartet und es stand dann bei den entwürfen ohne Bild.
AW: ausgewählten Bereich als Bild per Email versenden.
24.06.2024 13:20:49
volti
Nun,

diesen und ähnlichen code habe ich schon zig mal in Foren angeboten und verwende ihn auch selbst in der Form.

Eine negative Rückmeldung habe ich noch nicht erhalten. Daher kann ich Dir jetzt da auch nicht weiterhelfen.

Gruß
KH
Anzeige
AW: ausgewählten Bereich als Bild per Email versenden.
24.06.2024 13:19:24
AGohla
Nochmal Hallo Volti,

habe nochmals alles gelöscht und neu gemacht.
jetzt klappt es. allerdings öffnet sich die email jetzt immer gleich 2x.
Die Position des Bildes muss ich noch einstellen.

ich danke dir schon mal recht herzlich.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige