ich habe ein kleines VBA Problem und hoffe einer von euch kann mir vielleicht helfen.
Es soll Text vor einer Tabelle eingefügt werden, aber der E-Mailtext erscheint nicht im Body, sonder nur die Mail.
es geht um diese Bereich:
- Code: Alles auswählen
'Das ist der E-Mail Body Text
OutMsgIntro = "Hallo an alle," & vbCrLf & "anbei die Bestellübersicht für den " & Sheets("Betellung").Cells(1, 1).Text & ":"
OutMsgOutro = ""
Und das ist der ganze Code:
- Code: Alles auswählen
' to-do
' Range ändern
' E-Mails in An/CC eintragen
' ggf. OutMsgOutro anpassen, wenn keine Signatur
' .Display zu .Send ändern
Sub SendMaxToursMail()
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
Dim OutMsgIntro, OutMsgOutro As String
Dim dayNumber As Integer
Dim wdDoc As Object
Dim wdRange As Object
'Hier wird der Bereich der Tabelle definiert, der in die E-Mail eingefügt wird
Set rng = Sheets(1).Range("A1:V29")
'Abfrage per Massage Box ob die E-Mails versendet werden soll
If MsgBox("Wurde das Datum auf den Folgetag geändert?", vbYesNo + vbQuestion, "Datumsabfrage") = vbYes Then
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
'Das ist der E-Mail Body Text
OutMsgIntro = "Hallo an alle," & vbCrLf & "anbei die Bestellübersicht für den " & Sheets("Betellung").Cells(1, 1).Text & ":"
OutMsgOutro = ""
With OutMail
.To = Sheets("Maxtouren").Cells(40, 2).Text
.CC = Sheets("Maxtouren").Cells(42, 2).Text
.BCC = ""
.Subject = "Betellungen für den " & Sheets("Betellung").Cells(1, 1).Text
Set wdDoc = OutMail.GetInspector.WordEditor
Set wdRange = wdDoc.Range(0, 0)
wdRange.InsertAfter vbCrLf & vbCrLf
'Copy the range in-place
rng.Copy
wdRange.Paste
'Nachricht zur Kontrolle anzeigen
.Display
End With
Set OutMail = Nothing
Set OutApp = Nothing
'Ende der Schleife für die Abfrage der Massage Box ob die E-Mails versendet werden soll
Else
MsgBox "Abbruch"
End If
End Sub
Danke euch schon mal. :)