PDF manuell speichern und per Mail versenden
#1
Hallo zusammen,

ich habe ein Tabellenblatt, welches manuell unter einem vorgegebenem Namen gespeichert werden soll. Die Speicherung erfolgt nicht automatisch, sondern manuell über das Menü "speichern unter".
Das soll so sein, da das Dokument immer unter einem anderen Ordner gespeichert werden muss. Danach soll eine Mail erstellt werden und das PDF angehangen werden.

Speichern funktioniert so wie ich es möchte.
Die Maiil wird korrekt dargestell so wie ich es bei subject und body definiert habe.

Leider hängt er die PDF nicht an die Mail an. Hier wird mir die Zeile Attachments.Add Dateiname immer gelb markiert.
Auch wird die Signatur nicht erstellt, obwohl ich den GetInspector mit drin habe.
Wo liegt denn hier mein Fehler? Ich hoffe ihr könnt mir weiterhelfen... Danke vorab.

Gruß André


Private Sub mail()

'PDF erstellen und speichern

Dim DateiName As String
DateiName = Format(Now, "yyyy-mm-dd") & " " & Range("O22") & " " & Range("H24") & " " & Range("G12") & " " & "zum " & Range("O24") & ".pdf"
vntReturn = Application.GetSaveAsFilename(InitialFileName:="C:\Test.pdf", FileFilter:="PDF-Datei (*.pdf), *.pdf)", Title:="PDF erzeugen")
Range("F8:P30").ExportAsFixedFormat Type:=xlTypePDF, Filename:=DateiName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False


'Mailversand
Dim olApp As Object, objMail As Object
Dim myAttachments As Object

Set olApp = CreateObject("Outlook.Application")
Set objMail = olApp.CreateItem(0)

With objMail
.GetInspector
.To = "empfänger@domain.de"
.CC = "empfänger@domain.de"
.Subject = Range("O22") & " " & Range("H24") & " " & Range("G12")
.Body = "Hallo, " & vbCrLf & vbCrLf & "ich bitte um " & Range("O22")
.Attachments.Add DateiName
.display

End With
Set objMail = Nothing
    Set olApp = Nothing
End Sub
Antworten Top
#2
Hallo,

nur nach dem Lesen und ungeprüft:

Mail.Attachment.Add Pfad & Dateiname

also der Pfad könnte fehlen.
mfg
Antworten Top
#3
Hallo Fennek,

ja das macht Sinn.

Aber wie bekomme ich den letzten Pfad bzw. den letzten Dateinamen denn in die Zeile rein? Diese sind ja jedesmal variabel.

Gruß
Antworten Top
#4
Was wohl gemeint ist, war, es sei zu prüfen, ob die Variable DateiName einen korrekten Pfadanteil enthält.

Kommentiere die gelbe Zeile mal aus und schau Dir an dieser Stelle den Inhalt der Variablen DateiName an.

By the way - guter Jahrgang.
Antworten Top
#5
Hallöchen,

Zitat:Aber wie bekomme ich den letzten Pfad bzw. den letzten Dateinamen denn in die Zeile rein? Diese sind ja jedesmal variabel.

woher willst Du den letzten Pfad und Name nehmen?

warum willst Du das in eine Zelle bekommen? Im Moment holst Du u.a. Inhalte aus 4 Zellen ...

wozu nutzt Du eigentlich die Variable vntReturn? Die enthält nach dem Speichern z.B. einen Pfad und einen Dateinamen ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste