Excel Sheet mittels "MS print to pdf" ohne Nachfrage erstellen
Guten Abend,
ich nutze das vbs-Script zum Drucken ausgewählter Excel-Sheets, insbesondere aus diesem Beitrag.
Bisher lief auch alles problemlos, nun benötige ich aber keinen Ausdruck, sondern pdf's.
Nach Umstellung auf den Standard-Drucker läuft das Script durch, allerdings möchte der MS-pdf-Drucker nun einen Dateinamen.
Ich suche nach einer Möglichkeit, automatisch - ohne Nachfrage - eine pdf zu erstellen.
Über Hilfe würde ich mich sehr freuen!
Gruß
okidoki
ich nutze das vbs-Script zum Drucken ausgewählter Excel-Sheets, insbesondere aus diesem Beitrag.
Bisher lief auch alles problemlos, nun benötige ich aber keinen Ausdruck, sondern pdf's.
Nach Umstellung auf den Standard-Drucker läuft das Script durch, allerdings möchte der MS-pdf-Drucker nun einen Dateinamen.
Ich suche nach einer Möglichkeit, automatisch - ohne Nachfrage - eine pdf zu erstellen.
Über Hilfe würde ich mich sehr freuen!
Set appXLS = CreateObject("Excel.Application")
Set wbkXLS = appXLS.Workbooks.Open("D:\test.xlsx", , true)
wbkXLS.sheets("Sheet1").PrintOut
wbkXLS.Close 0
Set wbkXLS = Nothing
appXLS.Quit
Set appXLS = Nothing
Gruß
okidoki
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 936192912
Url: https://administrator.de/forum/excel-sheet-mittels-ms-print-to-pdf-ohne-nachfrage-erstellen-936192912.html
Ausgedruckt am: 03.04.2025 um 09:04 Uhr
9 Kommentare
Neuester Kommentar
Zitat von @OKIDOKI:
Bisher lief auch alles problemlos, nun benötige ich aber keinen Ausdruck, sondern pdf's.
Nach Umstellung auf den Standard-Drucker läuft das Script durch, allerdings möchte der MS-pdf-Drucker nun einen Dateinamen.
Ich suche nach einer Möglichkeit, automatisch - ohne Nachfrage - eine pdf zu erstellen.
Nach Umstellung auf den Standard-Drucker läuft das Script durch, allerdings möchte der MS-pdf-Drucker nun einen Dateinamen.
Ich suche nach einer Möglichkeit, automatisch - ohne Nachfrage - eine pdf zu erstellen.
Wie wäre die Verwendung der Methode ExportAsFixedFormat statt PrintOut?
PrintOut unterstützt eine Reihe an Argumenten.
https://docs.microsoft.com/en-us/office/vba/api/excel.sheets.printout
Steffen
https://docs.microsoft.com/en-us/office/vba/api/excel.sheets.printout
wbkXLS.sheets("Sheet1").PrintOut , , , , "Microsoft Print To PDF", true, , "C:\irgendwo\test.pdf"
Steffen
https://docs.microsoft.com/en-us/office/vba/api/excel.pagesetup.orientat ...
Da VBS die VBA Konstanten nicht kennt:
https://docs.microsoft.com/en-us/office/vba/api/excel.xlpageorientation
Steffen
Da VBS die VBA Konstanten nicht kennt:
https://docs.microsoft.com/en-us/office/vba/api/excel.xlpageorientation
wbkXLS.sheets("Sheet1").PageSetup.Orientation = 2
Steffen

Würde ich auch direkt so machen
https://docs.microsoft.com/de-de/office/vba/api/excel.worksheet.exportas ...
wbkXLS.sheets("Sheet1").ExportAsFixedFormat 0,"d:\datei.pdf"

Zitat von @OKIDOKI:
Funktioniert genauso gut! Kannst du mir kurz sagen, was anders/vorteilhafter ist?
Das funktioniert eben auch ohne das der MS PDF Drucker im System vorhanden sein muss, denn ohne läuft das erste auf einen Fehler wenn der Drucker fehlt Funktioniert genauso gut! Kannst du mir kurz sagen, was anders/vorteilhafter ist?