Excel VBA 質問スレッド №242 (未解決)
差し込み文章を個別レコードごとにPDFで保存したい
投稿者 : 高橋 投稿日時 : 2021/05/13(Thu) 18:50:08 OS : Windows 10 EXCEL : 未指定
お世話になります。
差し込み文章を個別レコードごとにPDFで保存したいのですが、
下記サイト様のVBAをそのまま引用してワード形式としては個別で保存することができましたが、
PDFで保存する方法をどなたかご教示いただけないでしょうか?
その他制約としてはPDF軽視の他、差し込み文章で利用しているリスト(xlsx)A列の
社員番号がそれぞれのレコードのファイル名である必要があります。
下記マクロでワード形式ですが社員番号では保存ができております。
下記引用サイト2のこの部分を差し替えればPDFで保存できるのかなと思いましたが、
差し替え方がわかりませんでした。
どなたかアドバイスいただけないでしょうか?
ActiveDocument.ExportAsFixedFormat ThisDocument.Path & "\" & _
DocNum & "_" & .DataSource.DataFields(1).Value & ".pdf", wdExportFormatPDF
お世話になります。
差し込み文章を個別レコードごとにPDFで保存したいのですが、
下記サイト様のVBAをそのまま引用してワード形式としては個別で保存することができましたが、
PDFで保存する方法をどなたかご教示いただけないでしょうか?
その他制約としてはPDF軽視の他、差し込み文章で利用しているリスト(xlsx)A列の
社員番号がそれぞれのレコードのファイル名である必要があります。
下記マクロでワード形式ですが社員番号では保存ができております。
下記引用サイト2のこの部分を差し替えればPDFで保存できるのかなと思いましたが、
差し替え方がわかりませんでした。
どなたかアドバイスいただけないでしょうか?
ActiveDocument.ExportAsFixedFormat ThisDocument.Path & "\" & _
DocNum & "_" & .DataSource.DataFields(1).Value & ".pdf", wdExportFormatPDF
'ファイル名に使うフィールドを()内の数字で指定(例では1番目) 引用サイト様 https://ameblo.jp/gidgeerock/entry-11789812886.html 引用サイト様2 https://wagayanogiziroku.blog.fc2.com/blog-entry-59.html Sub 差し込み印刷_レコード毎に別ファイルで保存() Dim i As Integer Dim iMax As Integer Dim myName As String Dim myMainDoc As Document Dim myNewDoc As Document Set myMainDoc = ActiveDocument With myMainDoc.MailMerge 'レコード数の設定 .DataSource.ActiveRecord = wdLastRecord iMax = .DataSource.ActiveRecord '新規文書に書き出す .Destination = wdSendToNewDocument '空白の差し込みフィールドを印刷しない .SuppressBlankLines = True For i = 1 To iMax 'レコードの指定 '.DataSource.ActiveRecord = i With .DataSource .FirstRecord = i .LastRecord = i .ActiveRecord = i '追加しました。誤記を失礼しました。 End With '文書作成(差し込みエラー時に停止) .Execute Pause:=True 'ファイル名に用いる文字列(項目名を設定してください) myName = .DataSource.DataFields("社員番号").Value '新規文書に名前をつけて保存 Set myNewDoc = ActiveDocument If myName <> "" Then myNewDoc.SaveAs FileName:=myMainDoc.Path & "\" & _ myName & ".doc", _ FileFormat:=wdFormatDocument, _ AddToRecentFiles:=False myNewDoc.Close End If DoEvents Next i End With Set myMainDoc = Nothing Set myNewDoc = Nothing End Sub
スポンサーリンク
[返信 1] Re : 差し込み文章を個別レコードごとにPDFで保存したい
投稿者 : 高橋 投稿日時 : 2021/05/13(Thu) 18:51:40
誤字失礼致しました。
その他制約としてはPDF軽視の他
↓
その他制約としてはPDF形式の他~
誤字失礼致しました。
その他制約としてはPDF軽視の他
↓
その他制約としてはPDF形式の他~
[返信 2] Re : 差し込み文章を個別レコードごとにPDFで保存したい
投稿者 : わ 投稿日時 : 2021/05/13(Thu) 21:25:27
参照
https://www.wordvbalab.com/code/3838/
対象ドキュメントは、myNewDoc でしょう。
参照
https://www.wordvbalab.com/code/3838/
対象ドキュメントは、myNewDoc でしょう。
[返信 3] Re : 差し込み文章を個別レコードごとにPDFで保存したい
投稿者 : 高橋 投稿日時 : 2021/05/14(Fri) 10:39:33
アドバイスありがとうございます。
PDFで出力することは下記の変更で行えましたが、
1ファイルごとに「定型書簡Xに対する変更を保存しますか?」とでてきてしまいます。
word と違いPDFの作成ではでてきてしまいますでしょうか?
上記文章で検索してみましたが恐らく探し方が悪く適切な対処法がわかりませんでした。
ご教示いただけますと幸いです。
'新規文書に名前をつけて保存
Set myNewDoc = ActiveDocument
If myName <> "" Then
myNewDoc.SaveAs FileName:=myMainDoc.Path & "\" & _
myName & ".pdf", _
FileFormat:=wdFormatPDF, _
AddToRecentFiles:=False
myNewDoc.Close
End If
DoEvents
アドバイスありがとうございます。
PDFで出力することは下記の変更で行えましたが、
1ファイルごとに「定型書簡Xに対する変更を保存しますか?」とでてきてしまいます。
word と違いPDFの作成ではでてきてしまいますでしょうか?
上記文章で検索してみましたが恐らく探し方が悪く適切な対処法がわかりませんでした。
ご教示いただけますと幸いです。
'新規文書に名前をつけて保存
Set myNewDoc = ActiveDocument
If myName <> "" Then
myNewDoc.SaveAs FileName:=myMainDoc.Path & "\" & _
myName & ".pdf", _
FileFormat:=wdFormatPDF, _
AddToRecentFiles:=False
myNewDoc.Close
End If
DoEvents
[返信 4] Re : 差し込み文章を個別レコードごとにPDFで保存したい
投稿者 : 通りすがり 投稿日時 : 2022/03/29(Tue) 23:58:57
myNewDoc.Close
を
myNewDoc.Close SaveChanges:=False
とするだけと思います。
myNewDoc.Close
を
myNewDoc.Close SaveChanges:=False
とするだけと思います。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-09-16 04:01:15 )