Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


806 / 76735 ←次へ | 前へ→

【81592】PDFへのデータ差し込み
質問  junhoshi  - 21/1/14(木) 10:20 -

引用なし
パスワード
   81584で質問させていただいたのですが解決せず再度投稿です。

81584ではラジオボタン操作も質問したのですが、ここでは0から始まる数字の差し込みお聞きしたいです。

以下は他のサイトで投稿した内容です。(こちらも回答がついていません)


PDFファイルにエクセルデータを差し込み、印刷せず、別名でPDFファイルを保存するVBAマクロを知りたく下記の文をサイトで見つけたのですが、これに001から始まる通番を追加したいのですがうまくいきません。

エクセル側はD列に通番(001~005)を、PDFファイルにフィールド名:通番を、構文は
.getField("fldAddress").Value = CStr(ActiveSheet.Cells(i, 3).Value)
の下に
.getField("通番").Value = CStr(ActiveSheet.Cells(i, 4).Value)
を追加しました。

実行すると、最初は001になるのですが以降は2,3,4,5と頭の00が省略されてしまいます。


元の構文です。
(エクセルデータはA列:氏名、B列:年齢、C列:住所です)

対象となるPDFファイルには下図のように氏名(フィールド名:fldName)、年齢(フィールド名:fldAge)、住所(フィールド名:fldAddress)の3つのフィールドがあり、
下図のようなセルA2 – C6までの値を差し込むことを想定しています。

※ 動作確認はWindows 7 + Acrobat XI環境で行いました。

Public Sub Sample2()
Dim app As Object
Dim avdoc As Object
Dim pddoc As Object
Dim i As Long
Const PDSaveFull = 1
Const PdfFilePath As String = "C:\Files\template.pdf" 'PDFファイルのパス

Set app = CreateObject("AcroExch.App")
Set avdoc = CreateObject("AcroExch.AVDoc")
If avdoc.Open(PdfFilePath, "") = True Then
app.Show 'Acrobat表示
Set pddoc = avdoc.GetPDDoc
With pddoc.GetJSObject
For i = 2 To ActiveSheet.Range("A1").End(xlDown).Row
.getField("fldName").Value = CStr(ActiveSheet.Cells(i, 1).Value)
.getField("fldAge").Value = CStr(ActiveSheet.Cells(i, 2).Value)
.getField("fldAddress").Value = CStr(ActiveSheet.Cells(i, 3).Value)
pddoc.Save PDSaveFull, "C:\Files\MyPDF_" & i - 1 & ".pdf" 'PDFファイルを別名保存
Next
End With
avdoc.Close 1 '文書を保存せずに閉じる
app.Hide: app.Exit
End If
End Sub

ちなみに同じような質問がされていたのですが
Set pddoc = avdoc.GetPDDoc
With pddoc.GetJSObject
上記2行をループ内に入れることによって自己解決したとのことでしたが具体的にどのようにされたのかがわからず投稿させていただくことになってしまいました。

どうかよろしくお願い致します。
2 hits

【81592】PDFへのデータ差し込み junhoshi 21/1/14(木) 10:20 質問[未読]
【81594】Re:PDFへのデータ差し込み sinzo 21/1/16(土) 17:12 回答[未読]
【81598】Re:PDFへのデータ差し込み junhoshi 21/1/19(火) 9:43 お礼[未読]
【81595】Re:PDFへのデータ差し込み sinzo 21/1/16(土) 17:34 回答[未読]

806 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free