0

ここで、MS Access から入力可能な PDF を入力する方法についての投稿を見つけました。

入力可能な PDF に入力するための Visual Basic コードです。Excel を使用してこの機能を実行してきましたが、データベースを Access に移行し、同じ機能を維持したいと考えています。VB コードをボタンに追加する方法を理解しましたが、クリックするとエラーが発生します。与えることができるどんな助けでも大歓迎です。

私は Adob​​e 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 に書き込まれていません。

4

1 に答える 1

1

これは少し古いですが、長期的には役に立ちました。私は何が間違っているかを理解しました。「オブジェクトが見つかりません」は、コードが PDF フィールドを見つけることができないため、「getFeild()」が返すオブジェクトに何も割り当てることができないことを意味します。最も可能性の高い原因は、フィールドへの「パス」が正しくないことです。フィールド名を入力してみてください。データを FTF ファイルにエクスポートし、そのファイルをメモ帳で読み取ってフィールド名を見つける必要がある場合があります。

フィールド名は次のようになります

T/(FeildName)v/(FeildValue)

オブジェクトが実際に返されたら、それに値を割り当てることができます。

于 2016-02-03T23:42:32.193 に答える