ここで、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 に書き込まれていません。