[英]Excel VBA macro Print to PDF - output file not supported?
我有一个简单的宏,可以选择一张纸,输入基本数据,然后打印到 PDF 文件。 宏工作并创建了文件,但是,当尝试打开生成的文件时,Adobe Acrobat 出现错误,提示“Acrobat 无法打开‘文档’,因为它不是受支持的文件类型,或者因为文件具有被损坏。
这是我的代码(更改名称和文本以保护无辜者)
Sheets("Sheet1").Select
ActivePrinter = "CutePDF Writer on CPW2:": _
Range("Ab2").Select
ActiveCell.FormulaR1C1 = "text 001"
Range("Ab3").Select
ActiveCell.FormulaR1C1 = "text 002"
Range("Ab4").Select
ActiveCell.FormulaR1C1 = "text 003"
ActiveWindow.SelectedSheets.PrintOut _
printtofile:=True, Collate:=True, prtofilename:="filename.pdf"
如果我注释掉ActivePrinter
行并将filename
更改为 .ps 文件,它将创建一个可以在 Acrobat 中正常打开的 postscript 文件。 我知道然后我可以将 .ps 文件转换为 .PDF,但我试图避免这种情况,因为宏通过 150 多个变体运行,创建了 150 多个文件。
有没有人有过类似的经历,如果有,你做了什么来克服它们?
任何帮助将不胜感激。
这是将文件保存为 PDF 的代码(来自宏记录器):
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Temp\Sample.pdf", Quality:= xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.