いつも拝見させていただいております。
タイトルの件、お伺いしたいのですが、
シート1にオーダー内容の入力セルがあります。
それぞれ品目に対して1つのシート(りんごはシート2、バナナはシート3・・・)を持たせています。
現在印刷の段階で、各シートの個数欄の値(セル座標はすべて同じ)を
1つずつ調べ、>0 なら印刷としています。
この状態で印刷処理を行うと各シートの検査結果ごとに
プリントジョブが発生してしまい、プリンタの印刷処理が遅くなってしまいます。
お尋ねしたいことですが、
上記の「遅くなる」問題を解決するためにはどうすれば?ということです。
イメージ的には
1)シートの区別なくセル座標のみで検査 → そのすべてを1つの印刷ジョブとして。(印刷のSELECTみたいな・・・)
2)現状検査実行後 → 印刷ジョブを1つにまとめる。
のようなものを思い浮かべたのですが、
どちらか、もしくは両方実現可能でしょうか?
また、できればキーワードとなるもの程度、参考とさせていただけないでしょうか?
よろしくお願いします。
PrintOut メソッドの対象は Worksheet オブジェクトだけでなく
Worksheets コレクションも許されてて、手作業でも複数シートを
選択しての印刷ができると思いますが?。1つのプリントジョブで
なかったですか?
…ついでにヘルプで確認すると、Range コレクションも対象に
上がってるのでセル単位の指定もどうにかなる可能性はあります。
手作業でも各シートで『印刷範囲の設定』をやって複数シートを
選択した印刷を実行すれば1つのプリントジョブでできる事までは
確認しました。…普通にできそうな感じ。
返信が送れて申し訳ありませんでした。
いただいたアドバイスを参考に取り組んで参ります。
現状が、
1シートチェック→1シート印刷 の繰り返しなので
1シートチェック→1シート選択→Worksheets.PrintOut を目標にがんばります。
なお、Rangeコレクションでの場合も、ぜひ習得したいと思いましたので
勉強していきます。
本当にありがとうございました。
ツイート | ![]() |