代码应该足够简单,尽管在尝试执行 SaveAs 命令时失败了。错误消息表示该文件可能正在使用中,因此无法写入。
目标目录只有 PDF 文件本身,并且在代码运行之前不会打开它。我不知道出了什么问题。
Sub PDFSaveAs()
Dim AcroApp As Object, AcroAVDoc As Object, AcroPDDoc As Object, jso As Object
Set AcroApp = CreateObject("AcroExch.App")
Set AcroAVDoc = CreateObject("AcroExch.AVDoc")
If AcroAVDoc.Open("C:\Users\User\Downloads\123.pdf", vbNull) = True Then
Set AcroPDDoc = AcroAVDoc.GetPDDoc
Set jso = AcroPDDoc.GetJSObject
jso.SaveAs "C:\Users\User\Downloads\123.docx", "com.adobe.acrobat.docx"
End If
AcroAVDoc.Close False
AcroApp.Exit
Set jso = Nothing
Set AcroPDDoc = Nothing
Set AcroAVDoc = Nothing
Set AcroApp = Nothing
End Sub
我已通读 Acrobat 中的所有首选项并自己找到了解决方案。
首选项 > 安全性(增强)> 取消选中启动时启用保护模式
完成!不再出现“文件可能正在使用”错误。