Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1936to1940
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Bild aus Excel anpassen in Outlook
11.07.2023 16:52:27
Gerd Weding
Hallo, ich habe es Dank Codebeispielen hinbekommen, dass ich aus einer Excel Datei einen Bereich kopiere und diesen in Outlook als Bild einfüge. Nun ist aber das eingefügte Bild zu groß und ich würde es gern verkleinern. Hat jemand Erfahrung damit? Oder müsste ich den "Snapshot" erst mal als Bild speichern und dann das Bild in Outlook einfügen?

Anbei der Code soweit:


Sub Versand55()
' Sendet Mail mit integriertem Bereich als Bereich mit Signatur
Dim WSh As Worksheet
Dim sMailtext As String
Dim sBer As String
Dim shp As shape
Dim wordDoc


Set WSh = ThisWorkbook.Sheets("Diagramm 2") '("Auswertung") ' Blatt mit Maildaten
sBer = "r15:al67" '"AM2:aw58" '& WSh.Cells(Rows.Count, "AM").End(xlUp).Row ' Kopierbereich

WSh.Range(sBer).CopyPicture xlPrinter 'xlPrinter ' Bereich kopieren


With CreateObject("Outlook.Application").CreateItem(0)
.BodyFormat = 2 ' 2=HTML-Format, 3=Richtext
.Subject = "Monatszahlen" & " " & ActiveSheet.Range("S5") & " " & ActiveSheet.Range("D5") '"Protokoll vom " & WSh.Range("G7") ' Betreff
.To = ActiveSheet.Range("M3") '"SMA" ' Empfänger
sMailtext = "Anbei die aktuellen Monatszahlen! ¶ " ' Mailbodytext ¶Ihre Daten:¶¶"
sMailtext = Replace(sMailtext, "¶", vbLf) ' Umbrüche einfügen
.GetInspector ' Signatur holen
.htmlbody = Replace(sMailtext, vbLf, "
") & .htmlbody
.Display

With .GetInspector.WordEditor.Application.Selection
.Start = Len(sMailtext): .Paste ' Grafik in Mail einfügen
End With



End With
End Sub


Dan ke schon mal vorab und Grüße aus Hildesheim

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild aus Excel anpassen in Outlook
11.07.2023 17:20:21
volti
Hallo Gerd,

teste mal, ob Du mit dem vorgeschlahgenen Zusatzcode zum Ziel kommst.

Es werden alle Shapes auf z.B. 300pt Breite und entsprechender Höhe skaliert. Da Du ja nur ein Shape hast, müsste es ja passen.
Code:


Sub Versand55() ' Sendet Mail mit integriertem Bereich als Bereich mit Signatur Dim WSh As Worksheet Dim sMailtext As String Dim sBer As String Dim shp As Shape Dim wordDoc Set WSh = ThisWorkbook.Sheets("Diagramm 2") ' ("Auswertung") sBer = "r15:al67" '"AM2:aw58" WSh.Range(sBer).CopyPicture xlPrinter ' xlPrinter With CreateObject("Outlook.Application").CreateItem(0) .BodyFormat = 2 ' 2=HTML-Format, 3=Richtext .Subject = "Monatszahlen" & " " & ActiveSheet.Range("S5") & " " _ & ActiveSheet.Range("D5") '"Protokoll vom " & WSh.Range("G7") ' Betreff .To = ActiveSheet.Range("M3") '"SMA" sMailtext = "Anbei die aktuellen Monatszahlen! ¶ " ' Mailbodytext ¶Ihre Daten:¶¶" sMailtext = Replace(sMailtext, "", vbLf) ' Umbrüche einfügen .Getinspector ' Signatur holen .htmlbody = Replace(sMailtext, vbLf, "<br>") & .htmlbody .Display With .Getinspector.WordEditor.Application.Selection .Start = Len(sMailtext): .Paste ' Grafik in Mail einfügen End With For Each oShp In .Getinspector.WordEditor.InlineShapes oShp.Width = 300 'Grafik skalieren Next oShp End With End Sub

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


Anzeige
AW: Bild aus Excel anpassen in Outlook
11.07.2023 18:54:37
Gerd Weding
Hallo volti, super klasse!! Mit dem 2. Code funktioniert das skalieren einwandfrei. Ich muss noch mal schauen, da jetzt das Bild den Text im Body ersetzt.

Beim 1. Code wird das Bild nicht skaliert und der Code bricht mit Laufzeitfehler 13 ab. und der Meldung 0shp.width =
Danke dir dennoch schon mal. Das bringt micht sehr viel weiter ;-))

Gruß Gerd

AW: Bild aus Excel anpassen in Outlook
11.07.2023 20:13:10
volti
Nachtrag, so müsste es funktionieren...

Code:


Sub Versand55() ' Sendet Mail mit integriertem Bereich als Bereich mit Signatur Dim WSh As Worksheet Dim sMailtext As String Dim sBer As String Dim wordDoc Set WSh = ThisWorkbook.Sheets("Diagramm 2") ' ("Auswertung") sBer = "r15:al67" '"AM2:aw58" WSh.Range(sBer).CopyPicture xlPrinter ' xlPrinter With CreateObject("Outlook.Application").CreateItem(0) .BodyFormat = 2 ' 2=HTML-Format, 3=Richtext .Subject = "Monatszahlen" & " " & ActiveSheet.Range("S5") & " " _ & ActiveSheet.Range("D5") '"Protokoll vom " & WSh.Range("G7") ' Betreff .To = ActiveSheet.Range("M3") '"SMA" sMailtext = "Anbei die aktuellen Monatszahlen! ¶ " ' Mailbodytext ¶Ihre Daten:¶¶" sMailtext = Replace(sMailtext, "", vbLf) ' Umbrüche einfügen .Getinspector.Display ' Signatur holen .htmlbody = Replace(sMailtext, vbLf, "<br>") & .htmlbody With .Getinspector.WordEditor.Application.Selection .Start = Len(sMailtext): .Paste ' Grafik in Mail einfügen End With .Getinspector.WordEditor.InlineShapes(1).Height = 130 End With End Sub

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


Anzeige
AW: Bild aus Excel anpassen in Outlook
11.07.2023 19:53:48
volti
Hallo Gerd,

schön dass der zweite Code zum Erfolg führt.

Beim ersten Code hatte ich einen Fehler gemacht. Ich hatte gesehen, dass in deinem code shp schon dimensioniert war. In meinem code, den ich einfach nur aus einem meiner Tools kopiert hatte, verwende ich aber oShp (o für Objekt). Somit war die Variable nicht gedimt und müsste mit DIM oShp AS Object gesetzt werden.

Gruß KH

AW: Bild aus Excel anpassen in Outlook
11.07.2023 21:10:22
Gerd Weding
Super, ich probiere es gleich morgen noch mal aus. Danke dir ;-)

Anzeige
AW: Bild aus Excel anpassen in Outlook
11.07.2023 17:26:39
volti
Hallo Gerd,

hier noch eine zweite, etwas kürzere Variante.

184 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige