mit folgendem Makro, füge ich verschiedene Excel-Bereiche in eine Outlook-Mail.
Mein Problem ist, dass es die Bereiche in der Mail mittig anordnet und somit nicht die ganze Mail auf ein Blatt gedruckt werden kann.
Gibt es eine Möglichkeit, die Bereiche linksbündig anzuordnen, bzw. die eingefügten Tabellenabschnitte nicht mitten in der Mail zu platzieren.
Im Voraus vielen Dank für eure Hilfe!
Sub Email_Test() ' TableToMail(Email As String, Sh As String, Range As String)
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With ActiveSheet
Set xlSubjectCell = .Range("C4") 'Betreff
With objMail
.To = "xxx@xxx.de"
.CC = " xxx@xxx.de "
.Subject = xlSubjectCell.Text
.htmlbody = RangeToHTML(ActiveSheet, ActiveSheet.Range("B7:F54")) & RangeToHTML(ActiveSheet, ActiveSheet.Range("B63:F63"))
.Display 'nur Anzeigen
'.Send 'direkt senden
End With
Set objMail = Nothing
Set objOutlook = Nothing
End With
End Sub
Private Function RangeToHTML(objSheet As Worksheet, objRange As Range) As String
Dim strFilename As String
strFilename = Environ$("TEMP") & "/" & Format(Now, "dd-mm-yyyy_hh-mm-ss") & ".htm"
ActiveWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=strFilename, _
Sheet:=objSheet.Name, _
Source:=objRange.Address, _
HtmlType:=xlHtmlStatic).Publish True
RangeToHTML = CreateObject("Scripting.FileSystemObject"). _
GetFile(strFilename).OpenAsTextStream(1, -2).ReadAll
Kill strFilename
End Function