Makro Emailversand - Problem
04.02.2019 11:50:46
Andreas
ich bitte euch wieder mal um eine kurze Hilfestellung.
Mein Makro versendet aus einem Excelsheet eine generierte PDF als Email.
Dabei werden im Datenblatt in den Feldern G6 & G7 nachgesehen ob Emailadressen
hinterlegt sind. Wenn ich nur in G6 eine hinterlegt habe funktioniert alles problemlos. Sind jedoch in G6 und G7 Emailadressen hinterlegt, funktioniert der Emailversand nicht, die PDF wird aber generiert. Woran könnte dies liegen? Ich markiere mal meine vermutete Zeile, bin mir aber nicht sicher.
Danke schon mal vorab.
Gruß Andreas
Public Sub Email_Pdf()
On Error Resume Next
Dim OutlookApp As Object
Dim OutlookMailItem As Object
Dim myAttachments As Object
Dim strPath As String
Dim Abgabe As String
Dim Monat As String
Dim Arr() As String, i As Integer
Arr = Split("Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November, _
Dezember,Januar", ",")
For i = 0 To UBound(Arr)
If Arr(i) Like Range("$G$3").Value Then Monat = Arr(i + 1): Exit For
Next i
strPath = "C:\Users\...\Desktop\" & ActiveSheet.Range("J1").Value & " " & ActiveSheet.Range( _
"G1").Value & ".pdf"
'strPath = "C:\Users\...\Desktop\" & ActiveSheet.Range("J1").Value & " " & ActiveSheet. _
Range("G1").Value & ".pdf"
ActiveSheet.Range("E1:J58").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
strPath, OpenAfterPublish:=False
Set OutlookApp = CreateObject("outlook.application")
Set OutlookMailItem = OutlookApp.CreateItem(0)
Set myAttachments = OutlookMailItem.Attachments
With OutlookMailItem
.To = Worksheets("Datenblatt").Range("G6") & Worksheets("Datenblatt").Range("G7") _
.Subject = ActiveSheet.Range("A6") & " für BV " & ActiveSheet.Range("J1") & " " & _
ActiveSheet.Range("G1")
.Body = "Hallo Herr " & ActiveSheet.Range("J5") & "," & vbCrLf & "" & vbCrLf & "ich _
bitte um Angabe folgender Daten zwecks Monatsbewertung zum o.g. Bauvorhaben:" & vbCrLf & "" & vbCrLf & _
"1. noch nicht berechnete Leistungen inkl. der noch nicht verbauten Materialien" & _
vbCrLf & "" & vbCrLf & "2. Vorgriffe oder berechtigte Kürzungen zu den Rechnungen" & vbCrLf & "" & vbCrLf & _
"Bitte um Rückmeldung bis spätestens zum 10." & Monat & " " & ActiveSheet.Range("J3") & _
"." & vbCrLf & "" & vbCrLf & "Danke "
myAttachments.Add strPath
.send
'.Display
End With
Set OutlookApp = Nothing
Set OutlookMailItem = Nothing
Set myAttachments = Nothing
End Sub