プロが教えるわが家の防犯対策術!

お世話になります。
Excel上で、Wordの差し込み印刷めいた処理を行いたいのですが
単純に値を代入して印刷を繰り返す形では、レコードごとに印刷ジョブが発生してしまいます。

---例-----------------------------------------------------------------------
[Ws入力]シート
列 ={氏名}
[Wsテンプレ]シート
A4サイズ、Print_Area指定あり
*入力データの保持は別途実行

マクロ(印刷部分のみ)
For i = 2 to Ws入力.Cells(Rows.Count,1).end(xlUp).Row
Wsテンプレ.Range("氏名").Value = Ws入力.Cells(i, "A") '代入
Wsテンプレ.PrintOut '印刷
Next
----------------------------------------------------------------------------

これらの印刷ジョブを1つにまとめたいのですが、何か良い方法は無いでしょうか?

自分で思いついた限りでは
①:[Wsテンプレ]シートをレコード数ぶん複製→各シートに代入→まとめて印刷→複製シートを削除
②:①の複製を1シート上で実行(下側に繋げて印刷)
③:そもそもWordの差し込み印刷を用いる
です。

①,②は、なかなか強引な処理のように感じています。(表現が下手ですみません)
③について、差し込み用Wordファイルの数を減らしたい為1ブックで完結させたいという前提があります。

以上、よろしくお願い致します。

A 回答 (1件)

通常はVLOOKUP関数を使って処理をします。


https://matome.naver.jp/odai/2141087133639638101
https://ameblo.jp/e27182818/entry-11887187045.html
これなら、印刷用シート一つで可能なはずです。
    • good
    • 1
この回答へのお礼

ありがとう

ご回答ありがとうございます。遅くなってしまいすみません!

差し込み印刷の代用としてのVLOOKUP関数は、代入処理や印刷ページ設定が楽という利点がありますね。
実務で代入を重ねる処理をしていたので、大変参考になりました。

今回の質問の件「印刷ジョブを1つにまとめたい」ですが、よく調べてみた所
PrintOutメソッドを実行した時点で印刷ジョブが発生する為、直接的には、やはり1度のPrintOutで複数シートないしブックを選択する必要があるようです。
(この場合も、シート間の印刷設定が異なると印刷ジョブが分かれるそうですが)

PDF出力(prtofilename)→MS-DOSから印刷という方法もあるそうです。
https://soudan1.biglobe.ne.jp/qa7317311.html

お礼日時:2019/04/05 23:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています