in meinem Datenblatt Tabelle1 würde ich gerne den Bereich AS1:AV12 per Outlook als Tabelle bzw. HTML versenden.
Mit dem Makro Rekorden wird nur die ganze Datei versendet.
Kann mir jemand helfen ?
Gruß Ralf
Code:Private Sub Mail_BereichalsBereich_Word1() ' Sendet Mail mit integriertem Bereich als Bereich mit Signatur Dim WSh1 As Worksheet, WSh2 As Worksheet Dim sMailtext As String, sBer As String sBer = "AS1:AV12" ' Kopierbereich Set WSh1 = ThisWorkbook.Sheets("Tabelle1") ' Blatt mit Maildaten Set WSh2 = ThisWorkbook.Sheets("Tabelle2") ' Datenblatt WSh2.range(sBer).Copy ' Bereich kopieren With CreateObject("Outlook.Application").CreateItem(0) .BodyFormat = 2 ' 2=HTML-Format, 3=Richtext .Subject = WSh1.range("A2").Value ' Betreff .To = WSh1.range("A3").Value ' Empfänger .CC = WSh1.range("A4").Value ' Kopie sMailtext = WSh1.range("A5").Value & vbLf .GetInspector ' Signatur holen .htmlbody = Replace(sMailtext, vbLf, "<br>") & .htmlbody .Display With .GetInspector.WordEditor.Application.Selection .start = Len(sMailtext) + 1 .Paste ' Bereich in Mail einfügen End With End With End Sub Private Sub Mail_BereichalsBereich_Word2() ' Sendet Mail mit integriertem Bereich als Bereich ohne Signatur Dim WSh1 As Worksheet, WSh2 As Worksheet Dim sBer As String sBer = "AS1:AV12" ' Kopierbereich Set WSh1 = ThisWorkbook.Sheets("Tabelle1") ' Blatt mit Maildaten Set WSh2 = ThisWorkbook.Sheets("Tabelle2") ' Datenblatt WSh2.range(sBer).Copy ' Bereich kopieren With CreateObject("Outlook.Application").CreateItem(0) .BodyFormat = 2 ' 2=HTML-Format .Subject = WSh1.range("A2").Value ' Betreff .To = WSh1.range("A3").Value ' Empfänger .CC = WSh1.range("A4").Value ' Kopie .Display .GetInspector.WordEditor.range.Paste ' Bereich in Mail einfügen End With End Sub
Sub Mail_Signatur()
' Sendet Mail mit integriertem Bereich als Bereich mit Signatur
Dim WSh1 As Worksheet, WSh2 As Worksheet
Dim sMailtext As String, sBer As String
sBer = "AS1:AV12" ' Kopierbereich
Set WSh1 = ThisWorkbook.Sheets("Tabelle1") ' Blatt mit Maildaten
Set WSh2 = ThisWorkbook.Sheets("Tabelle1") ' Datenblatt
WSh2.Range(sBer).Copy ' Bereich kopieren
With CreateObject("Outlook.Application").CreateItem(0)
.BodyFormat = 2 ' 2=HTML-Format, 3=Richtext
.Subject = WSh1.Range("AS1").Value ' Betreff
.To = WSh1.Range("AX1").Value ' Empfänger
.CC = WSh1.Range("AX2").Value ' Kopie
sMailtext = WSh1.Range("AX3").Value & vbLf
.GetInspector ' Signatur holen
.htmlbody = Replace(sMailtext, vbLf, "
") & .htmlbody
' .Display
' .Send
With .GetInspector.WordEditor.Application.Selection
.Start = Len(sMailtext) + 1
.Paste ' Bereich in Mail einfügen
End With
.Send
End With
End Sub
Gruß Ralf