エクセルで複数のprintoutを1つのジョブとしてプリンタに送るには?

解決


がんばれVBA  2005-06-22 01:00:59  No: 122849

いつも拝見させていただいております。

タイトルの件、お伺いしたいのですが、

シート1にオーダー内容の入力セルがあります。

それぞれ品目に対して1つのシート(りんごはシート2、バナナはシート3・・・)を持たせています。

現在印刷の段階で、各シートの個数欄の値(セル座標はすべて同じ)を
1つずつ調べ、>0  なら印刷としています。

この状態で印刷処理を行うと各シートの検査結果ごとに
プリントジョブが発生してしまい、プリンタの印刷処理が遅くなってしまいます。

お尋ねしたいことですが、

上記の「遅くなる」問題を解決するためにはどうすれば?ということです。

イメージ的には

1)シートの区別なくセル座標のみで検査  →  そのすべてを1つの印刷ジョブとして。(印刷のSELECTみたいな・・・)

2)現状検査実行後  →  印刷ジョブを1つにまとめる。

のようなものを思い浮かべたのですが、
どちらか、もしくは両方実現可能でしょうか?

また、できればキーワードとなるもの程度、参考とさせていただけないでしょうか?
よろしくお願いします。


特攻隊長まるるう  2005-06-23 19:36:38  No: 122850

PrintOut メソッドの対象は Worksheet オブジェクトだけでなく
Worksheets コレクションも許されてて、手作業でも複数シートを
選択しての印刷ができると思いますが?。1つのプリントジョブで
なかったですか?

…ついでにヘルプで確認すると、Range コレクションも対象に
上がってるのでセル単位の指定もどうにかなる可能性はあります。
手作業でも各シートで『印刷範囲の設定』をやって複数シートを
選択した印刷を実行すれば1つのプリントジョブでできる事までは
確認しました。…普通にできそうな感じ。


がんばれVBA  2005-06-26 01:14:50  No: 122851

返信が送れて申し訳ありませんでした。

いただいたアドバイスを参考に取り組んで参ります。

現状が、
1シートチェック→1シート印刷  の繰り返しなので
1シートチェック→1シート選択→Worksheets.PrintOut を目標にがんばります。

なお、Rangeコレクションでの場合も、ぜひ習得したいと思いましたので
勉強していきます。

本当にありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加