Am Donnerstag, 17. Mai 2018 09:23:00 UTC+2 schrieb Thomas Kühn:
> set ObjMailItem=CreateItemFromTemplate(Pfad der Vorlage)
> With objMailItem
> .To = "
ma...@mail.de"
> .Subject = "Betreff PDF"
> .Attachments.Add strDatei
> 'Hier wird eine normale Text Mail erstellt
> '.body = "Das ist ein Test" & vbCrLf & "Bitte ignorieren"
> 'Hier wird die HTML Mail erstellt
> .HTMLBody = "Das ist ein Test."
> 'Hier wird die Mail nochmals angezeigt
> .Display
> 'Hier wird die Mail gleich in den Postausgang gelegt
> '.Send
> End With
> objOutlook.Quit
> Set objOutlook = Nothing
> Set objMailItem = Nothing
> End Sub
So hallo Thomas da bin ich wieder :-)
Ich habe den Code eingeefügt und es passiert einiges jedoch werden die Speicherorte nicht angewählt. Anstatt dessen wird die erzeugte PDF, welche in eine bereits existierende Outlook-Vorlage eingefügt werden soll, im Ordner Dokumente ab. Im Code sehe ich keine Codezeile in der ich den Speicherort anpassen könnte. Die Kopie des Tabellenblattes wird wiederum so wie gewünscht abgelegt.
Ich bin sicher, dass der Fehler an mir liegt. Deswegen habe ich Deinen Code in dem ich soweit verstanden meine Zielpfade eingetragen habe hier nochmal angehangen. Vielleicht erkennst Du auf einen Blick wo ich einen Fehler gemacht habe.
Sub ErstellePDF()
Dim strDateiname As String
Dim strVerzeichnis As String
strFilename = Format(Now, "dd.mm.yyyy_hh.nn") & " Bereitstellung DE (Condor).pdf"
strVerzeichnis = "\\CG07FS01\usrdaten$\KayaHa\Daten\Profildaten\Desktop\Versandte_Bereitstellungen"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=strFilename, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
' Hier erfolgt dann der Aufruf von Outlook mit Anhängen des PDFs
Outlook_Senden (strVerzeichnis & strFilename)
End Sub
Sub Outlook_Senden(ByVal strDatei As String)
Dim objMailItem As Object, objOutlook As Object
Dim SavePath As String
Dim AWS As String
SavePath = "\\CG07FS01\usrdaten$\KayaHa\Daten\Profildaten\Desktop\Versandte_Bereitstellungen"
Set objOutlook = CreateObject("Outlook.Application")
'Kopiert aktuelles Sheet in eine neue Mappe
'welche nur diese Tabelle enthält
ActiveSheet.Copy
'Speichert die Datei unter dem Tabellennamen und dem Namen in A1
ActiveWorkbook.SaveAs SavePath & "\" & ActiveSheet.Name & " " & ActiveSheet.Range("A49")
'Aktive Arbeitsmappe wird als mail gesendet
AWS = ActiveWorkbook.FullName
'InitializeOutlook = True
Set objMailItem = objOutlook.CreateItem(0)
With objMailItem
.To = "
ma...@mail.de"
.Subject = "Betreff PDF"
.Attachments.Add strDatei
'Hier wird eine normale Text Mail erstellt
'.body = "Das ist ein Test" & vbCrLf & "Bitte ignorieren"
'Hier wird die HTML Mail erstellt
.HTMLBody = "Das ist ein Test."
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt
'.Send
End With
objOutlook.Quit
Set objOutlook = Nothing
Set objMailItem = Nothing
End Sub
Ansonsten wird wenn ich den Debuggen Button betätige dieses hier gelb markiert
.Attachments.Add strDatei
Das Format des Zeitstempels, welches dem Dateinamen der erzeugten PDF vorangestellt sein soll, konnte ich erfolgreich anpassen. Die PDF wird wie gesagt auch erzeugt, jedoch unbeabsichtigter Weise im Ordner Dokumente abgelegt.
Der Rest (Einfügen in eine bereits existierende Outlook-Vorlage) klappt noch nicht.
Die empfohlene Änderung von Claus habe ich umgesetzt. Pfad wird angepasst.
Mit freundlichen Grüßen
Hakan