Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Funkt. rangetoHTML ist der Body mittigt

Forumthread: Funkt. rangetoHTML ist der Body mittigt

Funkt. rangetoHTML ist der Body mittigt
24.09.2021 14:51:24
Markus
Hallo zusammen,
über die Funktion Range to HTML pack ich einen Excel Bereich in eine Mail.
Leider ist dieses "Bild" immer nur Mittig und ich möchte es in der Mail linksbündig haben
Hier der entsprechende Code
Set objOutlook = CreateObject(Class:="Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
Set objWord = CreateObject("Word.Application")
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
objSignatureObject.NewMessageSignature = Signatur 'Name der gewünschten Signatur
objWord.Quit
With objMail
.GetInspector.Display
olOldbody = .htmlbody
.To = TO1
.cc = CC1
.Subject = Betreff
.htmlbody = fncRangeToHtml((reiter), Anfang & ":" & Ende) & olOldbody

Private Function fncRangeToHtml(strWorksheetName As String, strRangeAddress As String) As String
Dim objFilesytem As Object, objTextstream As Object, objShape As Shape
Dim strFilename As String, strTempText As String
Dim blnRangeContainsShapes As Boolean
strFilename = Environ$("temp") & "\" & _
Format(Now, "dd-mm-yy_h-mm-ss") & ".htm"
ThisWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=strFilename, _
Sheet:=strWorksheetName, _
Source:=strRangeAddress, _
HtmlType:=xlHtmlStatic).Publish True
Set objFilesytem = CreateObject("Scripting.FileSystemObject")
Set objTextstream = objFilesytem.GetFile(strFilename).OpenAsTextStream(1, -2)
strTempText = objTextstream.readall
objTextstream.Close
' For Each objShape In Worksheets(strWorksheetName).Picture
'     If Not Intersect(objShape.TopLeftCell, Worksheets( _
strWorksheetName).Range(strRangeAddress)) Is Nothing Then
blnRangeContainsShapes = True
'        Exit For
'   End If
'   Next
If blnRangeContainsShapes Then _
strTempText = fncConvertPictureToMail(strTempText, Worksheets(strWorksheetName))
fncRangeToHtml = strTempText
Set objTextstream = Nothing
Set objFilesytem = Nothing
Kill strFilename
End Function

Public Function fncConvertPictureToMail(strTempText As String, objWorksheet As Worksheet) As String
Const HTM_START = "") - lngPathLeft)
strTemp = Replace(strTemp, HTM_START & Chr$(34), "")
strTemp = Replace(strTemp, HTM_END & Chr$(34), "")
strTemp = strTemp & "/"
strTempText = Replace(strTempText, strTemp, Environ$("temp") & "\" & strTemp)
fncConvertPictureToMail = strTempText
End Function
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funkt. rangetoHTML ist der Body mittigt
24.09.2021 17:44:20
volti
Hallo Markus,
ich schlage Dir vor, statt des umständlichen Range2HTML-Gedöns Deinen Bildbereich direkt einzukopieren (als Bild oder auch als Tabellenbereich).
Bei mir ist es auch immer linksbündig...
Kannst ja mal folgende Anregung anpassen und testen.
Code:

[Cc][+][-]

Private Sub Mail_BereichalsBild_Word() ' Sendet Mail mit integriertem Bereich als Bild mit Signatur Dim Betreff, To1, CC1, Mailtext Dim WSh As Worksheet Dim sMailtext As String, sBild As String Dim sBer As String, oZelle As Range sBer = "A1:G10" ' Kopierbereich Set WSh = ThisWorkbook.Sheets("Tabelle1") ' Blatt mit Maildaten On Error Resume Next Do WSh.Range(sBer).CopyPicture Appearance:=xlScreen, Format:=xlBitmap If Err.Number = 0 Then Exit Do Err.Clear Loop With CreateObject("Outlook.Application").CreateItem(0) .BodyFormat = 2 ' HTML-Format, Angabe optional .Subject = Betreff ' Betreff .To = To1 ' Empfänger .CC = CC1 ' Kopie sMailtext = Mailtext & vbLf .GetInspector ' Signatur holen .htmlbody = Replace(sMailtext, vbLf, "<br>") _ & .htmlbody .Display With .GetInspector.WordEditor.Application.Selection .Start = Len(sMailtext) + 1 .Paste ' Grafik in Mail einfügen End With End With End Sub

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

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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