2012-09-13 116 views
2

与此战斗了一段时间。 Office 2007和Adobe Pro 10.打印到Adobe PDF失败Word VBA

让VBA代码步进目录树并将.doc和.docx文件打印到PDF Printer(默认设置)。

代码运行良好,但是当我尝试打开文件时,Adobe说它不能,因为它不是受支持的文件类型或已损坏。但是,Adobe是通过Adobe PDF打印机创建的。

如果我从Word内手动打印,它工作得很好,所以我猜它是在vba中的东西。所有参数都很好 - 我可以说最好,我已经设置了正确的默认值/偏好。在下面的代码中注意我甚至尝试使用Application.Printout并得到相同的结果。

Documents.Open FileName:="""" & FolderPath & "\" & sDocName & """", ReadOnly:=True ' Application.PrintOut FileName:="""" & FolderPath & "\" & sDocName & """", OutputFileName:=PDFDoc, _ PrintToFile:=True, Background:=True ActiveDocument.PrintOut OutputFileName:=PDFDoc, Background:=True Documents(sDocName).Close savechanges:=False PDFDoc是输出的完全限定文件名。它工作正常,因为我可以找到我期望的文件。

回答

2

据我所知,PrintToFile:= True强制格式为PS(postscript)而不是PDF。所以你需要将文件从PS转换为PDF(可以自动)。以this link为例。