我已经为此奋斗了一段时间了。 Office 2007 和 Adobe Pro 10。
使用 VBA 代码逐步浏览目录树并将 .doc 和 .docx 文件打印到 PDF 打印机(设置为默认值)。
代码运行良好,但当我尝试打开该文件时,Adobe 说无法打开,因为它不是受支持的文件类型或已损坏。但是,Adobe 是通过 Adobe PDF 打印机创建它的。
如果我从 Word 中手动打印,它工作得很好,所以我猜它是 vba 中的东西。所有参数都很好 - 据我所知,我已经设置了正确的默认值/首选项。请注意,在下面的代码中,我什至尝试使用 Application.Printout 并得到了相同的结果。
Documents.Open FileName:=""""& FolderPath & "\"& sDocName & """", ReadOnly:=True ' Application.PrintOut FileName:=""""& FolderPath & "\"& sDocName & """", OutputFileName:=PDFDoc, _ PrintToFile:=True, 背景:=True ActiveDocument.PrintOut OutputFileName:=PDFDoc, 背景:=True 文档(sDocName). 关闭 savechanges:=False
PDFDoc 是输出的完全限定文件名。它工作正常,因为我可以在我期望的位置找到文件。
最佳答案
据我所知,PrintToFile:= True
强制格式为PS(postscript)而不是PDF。因此,您需要将文件从 PS 转换为 PDF(可以自动化)。看看this link举个例子。
关于pdf - 从 Word VBA 打印到 Adobe PDF 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12399438/