Hallo zusammen,
ich weiß nicht, ob es dieses Thema schon mal gab, kann leider die Suchfunktion nicht nutzen.
Ich möchte per VBA aus Excel heraus eine Email öffnen und einen Bereich einer Tabelle kopieren und in den Body der Email einfügen.
Ich bin bisher so weit gekommen:
Sub SendeEmail()
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim Range As Range
Dim ClipBoard As MSForms.DataObject
Sheets("Übersicht").Activate
ActiveWindow.DisplayGridlines = False
Set Range = ThisWorkbook.Sheets("Übersicht").Range("A1:P18")
Range.Copy
Set ClipBoard = New MSForms.DataObject
ClipBoard.GetFromClipboard
ActiveWindow.DisplayGridlines = True
Application.ScreenUpdating = True
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
' E-Mail-Parameter festlegen
With OutlookMail
.To = "xy@z.com" ' Empfängeradresse
.CC = "" ' CC-Empfänger
.BCC = "" ' BCC-Empfänger
.Subject = "Planerfüllung " & Date
.HTMLBody = ClipBoard.GetText(MSForms.DataObjectDataTypeGetText) & .HTMLBody
.Display
End With
' Objekte aufräumen
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Set Range = Nothing
Set ClipBoard = Nothing
End Sub
An der unterstrichenen Stelle .DataObjectDataTypeGetText wird beim Debuggen abgebrochen mit Fehlermeldung: Methode oder Datenbankobjekt nicht gefunden. Microsoft Forms 2.0 Objekt Library ist eingebunden.
Kann mir jemand sagen, was das Problem mit dieser Methode ist? Wenn ich stattdessen nur .GetText verwende, dann wird der Inhalt der Excel-Zellen als fortlaufender Text kopiert und eingefügt. Ich möchte aber die Zellen samt Formatierung erhalten.
Grüße
Horst
|