Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Bennenung PDF und Seite drucken
#1
Wink 
Hallo liebe Community,

ich habe folgenden VBA-Quellcode und möchte folgendes Umsetzten:

1. Der Name aus der PDF-Datei soll sich aus der Zeile C9 ergeben.
2. Es soll nur die Seite 1 von 1 gedruckt werden.
2. Die PDF-Datei soll unter C:/PDF mit dem Namen zusätzlich abgespeichert werden.
3. Die PDF-Datei soll dann mit dem Namen als Anhang zur Mail hinzugefügt werden.

Würde mich wirklich sehr freuen, wenn mir da jemand weiterhelfen könnte. :)  Vielen Dank!  :21:


Quellcode

Sub KW_I_perMail()

'** Dimensionierung der Variablen
Dim strPDF As String
Dim OutlookApp As Object, strEmail As Object

'** Vorgaben definieren
Set OutlookApp = CreateObject("Outlook.Application")
Set strEmail = OutlookApp.CreateItem(0)

'** PDF erzeugen
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  ThisWorkbook.Path & "\Excel-File.pdf", Quality:=xlQualityStandard _
  , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
  :=False

'** E-Mail versenden
strPDF = ThisWorkbook.Path & "\Excel-File.pdf"
With strEmail
  .To = Worksheets("Datenpool").Cells(4, 5).Value
  .Subject = Worksheets("KW").Cells(9, 3).Value & " - " & Worksheets("KW").Cells(8, 3).Value
  .body = "Schönen guten Tag allerseits," & Chr(13) & _
  "" & Chr(13) & _
  "beigefügt der Einsatzplan für die im Betreff genannte Kalenderwoche." & Chr(13)
  .Attachments.Add strPDF
  .Display
  '.Send 'Damit wir die E-Mail sofort versendet
  Kill strPDF
End With
  
'** Objektvariablen wieder löschen
Set OutlookApp = Nothing
Set strEmail = Nothing

End Sub
Antworten Top
#2
Hallöchen,

Zitat:Der Name aus der PDF-Datei soll sich aus der Zeile C9 ergeben.

Du nimmst ja schon den Addresaten aus einer Zelle:
.To = Worksheets("Datenpool").Cells(4, 5).Value

Für den Dateinamen machst Du es im Prinzip auch so.
Statt
& "\Excel-File.pdf
nimmst Du
& DeineZelladresse


Zitat:Es soll nur die Seite 1 von 1 gedruckt werden.

Da hilft Dir der Makrorekorder. Beim Speichern als pdf gibt es eine Option, wo Du die Seiten einstellen kannst.

Zitat:Die PDF-Datei soll unter C:/PDF mit dem Namen zusätzlich abgespeichert werden.

Einfach nochmal speichern …

Zitat:Die PDF-Datei soll dann mit dem Namen als Anhang zur Mail hinzugefügt werden.

Das macht doch der Code schon ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Mounzer
Antworten Top
#3
Ok, ich bin eindeutig zu blöd, den Dateiname der PDF-Datei zu ändern.
Bei mir kommen nur Fehler, hast Du einen Tipp für mich?`

Bezüglich dem Druck gibt es doch ein Befehl in VBA  From= 1 to=2 oder so ähnlich, kann man den bei der Erstellung der PDF-Datei nicht nutzen?
Antworten Top
#4
Hallöchen,

Zitat:Bezüglich dem Druck gibt es doch ein Befehl in VBA From= 1 to=2 oder so ähnlich, kann man den bei der Erstellung der PDF-Datei nicht nutzen?

ich schrieb
Zitat:Da hilft Dir der Makrorekorder. Beim Speichern als pdf gibt es eine Option, wo Du die Seiten einstellen kannst.

und das sieht dann z.B. so aus, einschl. C:\pdf\ :

Code:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Pdf\die-.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, _
        OpenAfterPublish:=True

Mit dem Namen aus der Zelle dann so

Code:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Pdf\" & Worksheets("Datenpool").Range("C9").Value & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, _
        OpenAfterPublish:=True
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Vielen Dank, ich habe es mal getestet, aber irgendwie möchte das gute Ding nicht so wie ich es möchte. xD


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#6
Hallo,

wie lautet die Fehlermeldung? Gibt es den Pfad? Gibt es das Tabellenblatt mit den Namen? Ist die Zelle gefüllt?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#7
Also ich habe es geschafft, jetzt sucht er nur noch die PDF-Datei, die er als Anhang an die Mail anhängen möchte.


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#8
Hallöchen,

beim Erzeugen der pdf gibst Du einen Pfad fest vor. Anschließend nimmst Du irgendeinen anderen Pfad, um die Datei anzuhängen ...
.      \\\|///      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