私の Access 2007 プロジェクトを Access 2010 に移動する必要があります。私が持っているこの VBA コードを除いて、ほとんどのカバーは問題なく機能しました。
この特定の VBA コードは、PDF フォームから値を読み込み、それらの値をフォーム コントロールに割り当てます。これにより、ユーザーは自分のデータを手動で入力するか、別の人 (Access DB がホストされているネットワークへのアクセス権を持たない人) にフォームに記入してもらい、代わりにインポートしてもらうことができます。
コードを実行すると、次のコードで Access 2010 でハングアップします。
If Title <> "" Then
Me!Title = Title
End If
私が得るエラーメッセージは次のとおりです。
実行時エラー '2448':
このオブジェクトに値を割り当てることはできません。
それが役立つ場合は、さらにバックグラウンドコードを次に示します。
Dim AcroApp As Acrobat.CAcroApp
Dim theForm As Acrobat.CAcroPDDoc
Dim jso As Object
'Declare variables by Tab used in Form view
'Tab 1
Dim Title, First_Name, Middle_Name, Last_Name, Maiden_Name As String
...
'Form Load
Set AcroApp = CreateObject("AcroExch.App")
Set theForm = CreateObject("AcroExch.PDDoc")
theForm.Open (FileName.Value)
Set jso = theForm.GetJSObject
...
'Tab 1 Data Load
Title = jso.getField("Title").Value
...
'Data Display
MsgBox "Values read from PDF:" & vbCrLf & vbCrLf & "Title:" & Title & vbCrLf & _
...
'Tab 1 Data Populate
If Title <> "" Then
Me!Title = Title
End If
上記のコードでは、フォームにある値がメッセージ ボックスに正しく表示されます。したがって、変数に正しい値が入力されていることがわかります。また、VBA エディタで Adobe Acrobat 10.0 Type Library を参照しています。繰り返しますが、このコードは Access 2007 で問題なく動作しました。
ご協力いただきありがとうございます。