質問後、随分日が経っていますが、最近、別の質問のための勉強していて、その関連で下記を参考に記してみます。
WordVBAでの説明ですが、
推測するに下記を、VBAでなく、多分リボンかメニューをたどり、手作業で、前任者はやったのではないでしょうか。
普通は改ページを入れない例の説明が多いのですが、レター文書なら複数ページもあるだろうし、別々のページに、狙った箇所に、差し込み印刷フィールドを使う人もいるかもしれない。
本例では2ぺージの例で簡略化して説明。
(A)下記を実行すると、「同一ページ」に、差し込みフィールドが
氏名
年齢
住所
と並びます。
ーー
Sub test01()
ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="氏名"
Selection.TypeText vbCrLf
ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="年齢"
Selection.TypeText vbCrLf
ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="住所"
End Sub
ーーー
(B)次に、下記を上記とは別の、新しい文書で実行すると、
氏名
改ページ線
年齢
住所
と、印刷すると、2ぺージなります
Sub test03()
ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="氏名"
Selection.TypeText vbCrLf
Selection.InsertBreak Type:=wdPageBreak <==改ページが入った
ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="年齢"
Selection.TypeText vbCrLf
ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="住所"
End Sub
ーーー
ここで、エクセルのデータ差し込みのため
下記を実行すると
差し込み印刷のVBAですが、
ub test02()
strXlsFileName = "C:\Users\xxx\Documents\差し込み印刷例180420.xlsm" 'Excelファイル名を設定
strXlsWorksheetName = "Sheet1"
strSQL = "SELECT * FROM [" & strXlsWorksheetName & "$]"
'strSQL = strSQL & "WHERE [性別] LIKE '男'"
Set objDoc = ActiveDocument
With objDoc.MailMerge
.OpenDataSource Name:=strXlsFileName, SQLSTATEMENT:=strSQL
.ViewMailMergeFieldCodes = False
End With
End Sub
ーー
(A)の場合は、1ページに
近藤 三郎
34
千葉市
となり、1ページに納まり印刷される。
(B)の場合は
近藤 三郎
改ページ
34
千葉市
となり、2ページに分けて印刷される。
ーー
なお
エクセルのデータはSheet1の
第1行目は、A-C列は
氏名 年齢 住所
近藤三郎 34 千葉市
のように作って、差し込み印刷を実行してます。
お礼
回答ありがとうございます。返信が遅れて申し訳ありませんでした。私自身はVBAの知識もなく、回答者様が教示してくださったマクロ文書の理解もできないレベルなんですが、おそらく前任者も手作業で行ったと思われます。もう一度差し込み文書をよく見てみようと思います。ありがとうございました。