我有一个简单的宏选择工作表,输入基本数据然后打印到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多个文件。
有没有人有类似的经历,如果有的话,你做了什么来克服它们?
非常感谢任何协助。
答案 0 :(得分:2)
这是将文件保存为PDF的代码(来自宏录制器):
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Temp\Sample.pdf", Quality:= xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False