こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ワードの差し込み印刷について

ワード3ページに渡る差しこみ印刷について質問です。職場の前任者から引き継いだファイルにワード3ページに渡って差し込み印刷が施してある文書がありました。差し込み元は1枚のエクセルシートだったんですが、前任者がどうやってこれを作ったのかが分かりません。ワード3ページに1枚のエクセルシートのデータをそれぞれ配分したものでした。前任者はこれをどう作成したのでしょうか?エクセルシートのそれぞれに範囲指定して名前を付けてみましたが、ワード1枚目に続いて2枚目に2番目のデータを入れると3枚全てに反映されてしまい上手くいきませんでした。ご存知の方の教示をお願いします。

投稿日時 - 2018-04-09 21:29:31

QNo.9486813

困ってます

質問者が選んだベストアンサー

質問後、随分日が経っていますが、最近、別の質問のための勉強していて、その関連で下記を参考に記してみます。
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  千葉市
のように作って、差し込み印刷を実行してます。

投稿日時 - 2018-04-23 22:15:02

お礼

回答ありがとうございます。返信が遅れて申し訳ありませんでした。私自身はVBAの知識もなく、回答者様が教示してくださったマクロ文書の理解もできないレベルなんですが、おそらく前任者も手作業で行ったと思われます。もう一度差し込み文書をよく見てみようと思います。ありがとうございました。

投稿日時 - 2018-04-24 20:30:02

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>職場の前任者から引き継いだファイルにワード3ページに渡って差し込み印刷が施してある文書がありました。差し込み元は1枚のエクセルシートだったんですが、前任者がどうやってこれを作ったのかが分かりません。
知りたかったら前任者に聞いてください。
ワードのファイルと差し込みデータのエクセルシートを見なければ分からないことなので社外秘でしょうから第三者に見せられないでしょう。

>エクセルシートのそれぞれに範囲指定して名前を付けてみましたが、ワード1枚目に続いて2枚目に2番目のデータを入れると3枚全てに反映されてしまい上手くいきませんでした。
仕事で使う資料の作成では自習して解決するか上司や先輩に指導を仰ぐのが基本です。
質問の内容からは応用力が低い方のように見えますので例題を見ても自分がやりたいことに結びつかないと思います。

投稿日時 - 2018-04-10 09:35:33

お礼

返信ありがとうございました。参考にさせていただきます。

投稿日時 - 2018-04-24 20:31:29