Würde gehen! Ich vermute mal, dass du es mt Formatierungen brauchst. Dann würde ich es so wie hier machen.
http://www.office-loesung.de/ftopic174028_0_0_asc.php
Würde dann bei dir so aussehen.
Sub versuches()
' versuches Makro
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
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
With Nachricht
.Subject = "TT Training"
'Zwischenablage wird eingefügt
.To = "@freenet.de"
'.Body = "Hallo TT Freunde, hier die aktuelle Auswertung"
.HTMLBody = RangeToHTML(ActiveSheet, ActiveSheet.Range("A2:A9"))
.Attachments.Add ActiveWorkbook.FullName
'Hier wird die Mail angezeigt
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
'Auf Outlook warten. Ist nicht schnell genug :-))
Application.Wait (Now + TimeValue("0:00:05"))
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
|