簡體   English   中英

使用特定文件名打印到“Microsoft Print to PDF”

[英]Print to "Microsoft Print to PDF" with a specific file name

關於這個話題,我有很多問題:

  1. 如果我使用Application.ActivePrinter = "Microsoft Print to PDF on Ne01:"進行打印,那么如何將特定文件名和路徑傳遞給打印機? (而不是讓它提示我?)
  2. 由於我希望其他人使用此文件,我如何檢查 Microsoft PDF 是否始終在 Ne01 上? 如果他們的端口在不同的端口上怎么辦?
  3. 許多人建議使用Findprinter命令,但我總是收到sub 或 function 未定義錯誤
  4. 許多人建議使用內置功能另存為 PDF,而不是打印到 PDF,但我發現生成的 PDF 有很大的邊距和錯誤的大小(不是 A

您可以將 Excel 表直接保存為 PDF。 試試下面的宏。 更改C:\以將文件保存到所需位置。

Sub SavePDF()
Dim pdfName As String

    pdfName = "MyFileName"

    Sheets("MyPDFsheet").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\" & pdfName & ".pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
    OpenAfterPublish:=False

End Sub
  1. PDF 打印輸出 go 到“端口”,該端口可以具有與任何打印設備相同的文件名。 用戶通常負責 select 設備/文件夾/端口名.pdf 因此有一個虛擬 PORTPROMPT: 設備(通過打印提示對話框設置)
    A) 將重復的驅動程序設置為端口作為監視文件夾中的固定文件名。 請參閱使用 powershell 打印到 PDF,同時抑制“另存為”提示https://stackoverflow.com/a/6927972

  2. A) You cannot, this Windows 11 just Like Other Windows versions currently does not have an MS PDF printer, it is a windows optional extra I am not allowed to install.

  3. A) 變量太大,默認的第一台網絡打印機可能是傳真機,或者在這種情況下什么都沒有,所以應該返回 NULL

  4. A)保存應該有選項。 有關其他建議,請參閱https://superuser.com/questions/1064214/create-pdf-from-an-excel-file-without-white-margins ,但是對於 PDF 打印有很多沒有固定尺寸的原因,ZAB6406EBZ 將保留 ACD9406EB28CEAA3除非另有說明,否則將打印機更改為“最后使用”,最后使用可以是任何紙張類型或頁邊距。 但是,在我的情況下,我經常將默認設置為我的區域(A4 縱向),並且我盡可能設置“無邊距”,但 windows Edge 會經常將其重置為大的“默認”。 也許我應該將默認設置為 A4zerOmargin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM