「PDFファイルに差し込み印刷するVBAマクロ」で、Acrobatを操作してPDF上のフォームにデータを差し込むマクロを紹介しているのですが、“チェックボックスにチェックを入れるにはどうしたら良いか?”、という質問がありました。
答えは簡単で、getFieldメソッドで取得したフィールドのValueプロパティで、各フィールドに設定してある下図のような値を指定すれば良いのです。

例えば下図のようなPDFファイルのフィールドを操作する場合は、下記コードのようになります。

Option Explicit
Public Sub Sample()
Dim app As Object
Dim avdoc As Object
Const PDSaveFull = &H1
Const PdfFilePath As String = "C:\Test\Form.pdf" 'PDFファイルのパス
Set app = CreateObject("AcroExch.App")
Set avdoc = CreateObject("AcroExch.AVDoc")
If avdoc.Open(PdfFilePath, "") = True Then
app.Show 'Acrobat表示
With avdoc.GetPDDoc.GetJSObject
.getField("fldName").Value = "斉藤 花子" '氏名
.getField("fldGender").Value = "女" '性別
.getField("fldAge").Value = "25" '年齢
.getField("fldAddress").Value = "神奈川県" '住所
.getField("fldBaseball").Value = "Off" '野球
.getField("fldGolf").Value = "ゴルフ" 'ゴルフ
.getField("fldGame").Value = "ゲーム" 'ゲーム
.getField("fldBook").Value = "Off" '読書
End With
avdoc.GetPDDoc.Save PDSaveFull, "C:\Test\Form2.pdf" '別名保存
avdoc.Close 1 '文書を保存せずに閉じる
app.Hide: app.Exit
End If
End Sub
Acrobatを表示する必要が無い場合はCAcroPDDocオブジェクトだけで操作することができるため、下記のように短いコードで処理できます。
Public Sub Sample2()
Const PDSaveFull = &H1
Const PdfFilePath As String = "C:\Test\Form.pdf" 'PDFファイルのパス
With CreateObject("AcroExch.PDDoc")
If .Open(PdfFilePath) = True Then
With .GetJSObject
.getField("fldName").Value = "佐藤 はじめ" '氏名
.getField("fldGender").Value = "男" '性別
.getField("fldAge").Value = "28" '年齢
.getField("fldAddress").Value = "埼玉県" '住所
.getField("fldBaseball").Value = "野球" '野球
.getField("fldGolf").Value = "Off" 'ゴルフ
.getField("fldGame").Value = "Off" 'ゲーム
.getField("fldBook").Value = "読書" '読書
End With
.Save PDSaveFull, "C:\Test\Form2.pdf" '別名保存
.Close
End If
End With
End Sub



















きぬあさ様
早速教えてくださり,どうもありがとうございました。
テキストを入れて設定するとは,全く思いつきませんでした。自分で
調べていたら永久に分からなかったでしょう。
心から感謝いたします。