我在这里找到了一篇关于如何从 MS Access 填写可填写 PDF 的帖子。
它是用于填写可填写 PDF 的 Visual Basic 代码。我一直在使用 Excel 来执行此功能,并希望将我的数据库迁移到 Access 并仍然保留相同的功能。我已经想出了如何将我的 VB 代码添加到按钮,但是当我单击它时,它会给我带来错误。任何可以提供的帮助将不胜感激。
我有 Adobe Acrobat X Pro 和 MS Access 2010。我的 PDF 文件是用 word 创建的,然后转换为 PDF 文件,我知道所有字段名称,因为我创建了它们。PDF 文档保存为 c:\CX.pdf,它有 9 页,文档中的一些字段名称示例有:“工厂名称”、“站点位置”、“安装者或所有者”。我的 MS Access 数据库字段的名称相同。
Option Compare Database
Private Sub Command105_Click()
Dim FileNm, gApp, avDoc, pdDoc, jso
FileNm = "c:\CX.pdf" 'File location
Set gApp = CreateObject("AcroExch.app")
Set avDoc = CreateObject("AcroExch.AVDoc")
If avDoc.Open(FileNm, "") Then
Set pdDoc = avDoc.GetPDDoc()
Set jso = pdDoc.GetJSObject
jso.getField("CX[0].Page1[0].Plant_Name[0]").Value = "Plant_Name"
jso.getField("CX[0].Page1[0].Station_Location[0]").Value = "Station_Location"
jso.getField("CX[0].Page1[0].Installer_or_Owner[0]").Value = "Installer_or_Owner"
pdDoc.Save PDSaveIncremental, FileNm 'Save changes to the PDF document
pdDoc.Close
End If
'Close the PDF; the True parameter prevents the Save As dialog from showing
avDoc.Close (True)
'Some cleaning
Set gApp = Nothing
Set avDoc = Nothing
Set pdDoc = Nothing
Set jso = Nothing
End Sub
它给了我错误“找不到对象”,现在它没有给我错误,但它仍然没有写入 PDF。