VBからPDF内容を変更し別名保存する2008年01月28日 15時11分16秒


Public Sub ClearPDFForm()
Const PDF_DIRECTORY = "C:\test\"
Const FName As String = PDF_DIRECTORY & "InputData.pdf"

Dim AVDoc As Acrobat.CAcroAVDoc
Dim PDDoc As Acrobat.CAcroPDDoc
Dim ADBForm As New AFORMAUTLib.AFormApp
Dim i As AFORMAUTLib.Field
Dim R1 As Long

Set AVDoc = CreateObject("AcroExch.AVDoc")
' PDFファイルを開く
R1 = AVDoc.Open(FName, "")
If Not CBool(R1) Then
MsgBox "Openに失敗したため処理を中止します。"
Exit Sub
End If
' フォームの値をクリアする
For Each i In ADBForm.Fields
If i.Type = "checkbox" Then
i.Value = "いいえ"
ElseIf i.Type = "text" Then
i.Value = "Test"
If InStr(i.Name, "T_Koumoku1") > 0 Then
i.Value = "Cust"
ElseIf InStr(i.Name, "T_Koumoku2") > 0 Then
i.Value = "Name"
End If
End If
Next i

' PDFファイルを保存する
Set PDDoc = AVDoc.GetPDDoc()
ADBForm.Fields("form1[0].Page1[0].T_Koumoku1[0]").Value = "1"
PDDoc.Save PDSaveFull Or PDSaveLinearized Or PDSaveCollectGarbage, PDF_DIRECTORY & "OutputData-1.pdf"

ADBForm.Fields("form1[0].Page1[0].T_Koumoku2[0]").Value = "2"
PDDoc.Save PDSaveFull Or PDSaveLinearized Or PDSaveCollectGarbage, PDF_DIRECTORY & "OutputData-2.pdf"
' PDFファイルを閉じる
AVDoc.Close CLng(True)
End Sub