Guten Morgen,
einen bestimmten Bereich an Zellen in Excel möcht ich auswählen, deren Inhalt addieren und in eine mittels Outlook-VBA per Makro erstellte Mail einfügen. Bevor es an den Teil der Addition geht ist mein erstes Problem das Einfügen in den Body. Die Mail selbst funktioniert.
Ich bastel schon eine ganze Weile daran herum und habe nun zwei verschiedene Varianten, die allerdings beide nichts einfügen.
Meine zweites Stück, das ich auch in verschiedensten Varianten probiert habe:
Außerdem habe ich versucht, das Problem mittels der Object Library zu lösen, aber da scheitert es bereits an der Referenz zu selbiger.
Ich bin VBA-Neuling insofern möge mir etwagiger Schwachsinn verziehen werden.
Gruß André
einen bestimmten Bereich an Zellen in Excel möcht ich auswählen, deren Inhalt addieren und in eine mittels Outlook-VBA per Makro erstellte Mail einfügen. Bevor es an den Teil der Addition geht ist mein erstes Problem das Einfügen in den Body. Die Mail selbst funktioniert.
Ich bastel schon eine ganze Weile daran herum und habe nun zwei verschiedene Varianten, die allerdings beide nichts einfügen.
Quellcode
- Dim xl As Object
- Set xl = CreateObject("Excel.Application")
- With xl
- .Workbooks.Open ("C:\[...]\abc.xls")
- .DisplayAlerts = False
- .Visible = True
- .Range("K16:K17").Select 'Test Range
- .Selection.Copy
- End With
- With itm
- .To = "a@b.c"
- .Subject = "TEST"
- .Body = xl.Selection.Paste 'funktioniert auch nicht mit nur .Body = .Paste, .Body = .Selection.Paste, ohne den Punkt hinter = oder in der nächsten Zeile
- '.Paste
- .Display
- End With
Meine zweites Stück, das ich auch in verschiedensten Varianten probiert habe:
Quellcode
- Dim xl As Object
- Set xl = CreateObject("Excel.Application")
- Dim rng As Variant
- Dim cl As Variant
- Dim ws As Variant
- With xl
- .Workbooks.Open ("C:\[...]\abc.xls")
- .DisplayAlerts = False
- .Visible = True
- Set ws = ActiveSheet
- rng = .Range("K16:K17"). 'Test Range
- '.Selection.Copy
- '.Selection.Paste
- With rng
- .Parent.Select
- Set cl = ActiveCell
- .Select
- ActiveWorkbook.EnvelopeVisible = True
- With .Parent.MailEnvelope
- .Introduction = "Hallo" 'Diese Zeile hat gar keine Auswirkungen!?
- With itm
- .To = "a@b.c"
- .Subject = "TEST"
- .Send
- End With
- End With
- End With
- End With
Außerdem habe ich versucht, das Problem mittels der Object Library zu lösen, aber da scheitert es bereits an der Referenz zu selbiger.
Quellcode
- ReferenceFromFile "C:\Windows\system32\FM20.DLL"
- Dim myClpObj As DataObject '"Benutzerdefinierter Typ nicht definiert"
- Set myClpObj = New DataObject
- ...
- With itm
- myClpObj.GetFromClipboard
- .Body = myClpObj.GetText(1)
- ...
- End Sub
- Function ReferenceFromFile(strFileName As String) As Boolean
- Dim ref As Reference
- On Error Goto Error_ReferenceFromFile
- References.AddFromFile (strFileName)
- ReferenceFromFile = True
- Exit_ReferenceFromFile:
- Exit Function
- Error_ReferenceFromFile:
- ReferenceFromFile = False
- Resume Exit_ReferenceFromFile
- End Function
Ich bin VBA-Neuling insofern möge mir etwagiger Schwachsinn verziehen werden.

Gruß André