和这个斗争了一段时间。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, Background:=True ActiveDocument.PrintOut OutputFileName:=PDFDoc, Background:=True Documents(sDocName).Close savechanges:=False
PDFDoc 是输出的完全限定文件名。它工作正常,因为我可以在我期望的位置找到文件。