我想填补我的MS-Access 2003中的.mdb项目PDF表单。 该PDF已经与Adobe生命周期设计ES 8.2创建的,各个领域都有显著的名字。 然而,谁运行PDF-填充functionnality用户没有安装生命周期,但只有ADOBE READER 9.5,而不是(可能很快转移到Adobe Reader X,我想我的代码是有点面向未来)。
我怎样才能实现呢? 我已经在网上看到多数线程重定向到Adobe官方SDK文档,这完全是当你只是做VBA一团糟。
谢谢。
我想填补我的MS-Access 2003中的.mdb项目PDF表单。 该PDF已经与Adobe生命周期设计ES 8.2创建的,各个领域都有显著的名字。 然而,谁运行PDF-填充functionnality用户没有安装生命周期,但只有ADOBE READER 9.5,而不是(可能很快转移到Adobe Reader X,我想我的代码是有点面向未来)。
我怎样才能实现呢? 我已经在网上看到多数线程重定向到Adobe官方SDK文档,这完全是当你只是做VBA一团糟。
谢谢。
终于合并的一些代码行后得到的东西的工作。 这里是。 它的工作原理与使用Adobe Acrobat 9.0类型库设置为我的VBA项目引用。
Dim FileNm, gApp, avDoc, pdDoc, jso
FileNm = "c:\form.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("topmostSubform[0].Page1[0].fieldName[0]").value = "myValue"
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
需要注意的是topmostSubform[0].Page1[0]
是默认名称的Adobe LiveCycle Designer中给到主PDF文档,而fieldName[0]
是您的字段的名称。 如果你有多个同名的领域中,Adobe LiveCycle Designer中自动添加索引号这样你就可以通过你的领域很容易循环。