Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1848to1852
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
Inhaltsverzeichnis

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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige