ich möchte per VBA aus einem Sheet ein PDF file machen und dieses dann per mail versenden. Dazu habe ich im Netz zwei Beispiele gefunden. Nachher will ich auf EINEN Button klicken und die Mail soll mit dem fertigen PDF da sein. Ob das PDF zuerst noch zwischengespeichert und dann ins Outlook kommt ist mir egal, hautsache es funktioniert.
Doch schon beim ersten Code habe ich probleme:
-Wenn ich den Code ausführe, wird zwar eine PDF erstellt, aber nicht unter den Name "Zusammenfassung" sondern unter dem Name der kompletten Excel-Mappe.
-als Pfad wird nicht der aktuelle der Excelmappe genommen, sondern immer der, mit dem ich vorher schon mal was anderes als PDF abgespeichert habe. Irgend wie schint sich Adobe den letzten Pfad immer zu merken.
'Code zum PDF erstellen
Dim strPDFName As String
Dim strCurrentPrinter As String
strPDFName = ThisWorkbook.Path & "\Zusammenfassung.pdf"
strCurrentPrinter = Application.ActivePrinter
'SendKeys strPDFName & "{enter}"
Sheets("Summary").PrintOut Copies:=1, ActivePrinter:="Adobe PDF", Collate:=True
Application.ActivePrinter = strCurrentPrinter
- Wenn das PDF erstellt und abgelegt ist, soll der Code von Tino laufen und das abgespeicherte File ins Outlook laden:
'Code von Tino aus dem Jahr 07
Dim mePDFD As String
Dim MyOutApp As Object, MyMessage As Object
mePDFD = ThisWorkbook.Path & "\Zusammenfassung.pdf"
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = "Meine E_mail Adresse"
.Subject = "hier ist die Test PDF Datei" 'Betreffzeile
.body = "geht doch!"
.Attachments.Add mePDFD
.Display
'.Send
'Kill mePDFD
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
Weiss jemand, was es mit dem Dateiname und dem Pfad auf sich hat und wie man den Code zum laufen bringt. Im Prinzip laufen beide Teile für sich, es soll aber alles in einem "Zug" durchlaufen"
Danke mal
Jockel