VBS脚本将Docx转PDF时SaveAs方法报800A01B错误求助
解决VBS调用Acrobat转换Docx到PDF时的800A01B错误
错误根源
你碰到的800A01B错误,核心原因是AcroExch.PDDoc对象不存在SaveAS方法——正确的方法名称是Save(无末尾大写S,拼写为Save)。
修正后的Acrobat VBS脚本
Set App = CreateObject("AcroExch.App") Set AVDoc = CreateObject("AcroExch.AVDoc") Set PDDoc = Nothing ' 打开Docx文件(需确保Acrobat已安装Word转换组件) If AVDoc.Open("C:\Users\rodger.beard\Desktop\DTS User Guide.docx", "") Then Set PDDoc = AVDoc.GetPDDoc ' 使用正确的Save方法:参数1为保存模式(1=覆盖现有文件),参数2为输出路径 PDDoc.Save 1, "C:\Users\rodger.beard\Desktop\DTS User Guide.pdf" AVDoc.Close False PDDoc.Close End If App.Exit Set App = Nothing Set AVDoc = Nothing Set PDDoc = Nothing
额外注意事项
- 必须确保你的Acrobat安装了Microsoft Word文档转换插件,否则Acrobat无法直接打开并转换Docx文件。
- 针对200页的大文件,Acrobat转换可能出现卡顿或失败,更可靠的方案是用Word原生对象转换:
Word原生转换替代脚本
Set WordApp = CreateObject("Word.Application") WordApp.Visible = False ' 后台运行不显示Word窗口 Set Doc = WordApp.Documents.Open("C:\Users\rodger.beard\Desktop\DTS User Guide.docx") ' 转换为PDF:参数1为输出路径,参数17对应Word的PDF格式常量(wdFormatPDF=17) Doc.SaveAs2 "C:\Users\rodger.beard\Desktop\DTS User Guide.pdf", 17 Doc.Close False WordApp.Quit Set Doc = Nothing Set WordApp = Nothing
该方案无需依赖Acrobat,只要安装了Word就能稳定处理大体积Docx文件。
内容的提问来源于stack exchange,提问作者Rodger
相关产品推荐
相关产品推荐

