いくつかのコード行をマージした後、ようやく何かが機能するようになりました。ここにあります。これは、VBAプロジェクトで参照として設定されているAdobeAcrobat9.0タイプライブラリで動作します。
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は自動的にインデックス番号を追加するため、フィールドを簡単にループできます。