ich versuche mit dem Code von Rainers (Ramses) Homepage einen Tabellenauschnitt direkt aus Excel heraus per Mail (MS Outlook) zu versenden. Leider wird dabei das Format (Zeilenhöhe, Gitternetzlinien, Füllfarben) nicht übernommen. Ich denke, das liegt an dem Gettext, bin aber nicht fit genug, um das anzupassen. Kann mir jemand weiterhelfen, so dass ich im Textkörper ein Resultat erhalte als hätte ich copy-and-paste ausgeführt?
Vielen Dank an die Mitdenker!
Gruß
Matthias
Hier ist der Code:
Sub Excel_Range_via_Outlook_Senden()
Dim OutApp As Object, Mail As Object, i
Dim Nachricht
'Verweis auf "Microsoft Forms 2.0 Object Library" aktivieren !!
'sonst geht es nicht
'Dataobject wird gebraucht wegen der Zwischenablage
Dim ClpObj As DataObject
For i = 1 To 10
Set ClpObj = New DataObject
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
'Excelbereich der versendet werden soll.
'Wenn kein Bereich versendet werden soll sondern
'der Bereich bereits kopiert wurde, können sie die
'nächsten beiden Zeilen auskommentieren
Range("A1:A5").Select
'Bereich wird in die Zwischenablage kopiert
Selection.copy
With Nachricht
.Subject = "Betreffzeile Header"
'Zwischenablage wird eingefügt
ClpObj.GetFromClipboard
.Body = ClpObj.GetText(1)
.To = "irgendwer@irgendein-provider.de"
'Hier wird die Mail angezeigt
'.Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
Set OutApp = Nothing
Set Nachricht = Nothing
'Auf Outlook warten. Ist nicht schnell genug :-))
Application.Wait (Now + TimeValue("0:00:05"))
Next i
End Sub