Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Home Premium : Excel 2010)
印刷を途中で停止する方法
投稿日時: 18/05/06 19:58:09
投稿者: ISBSGR

お世話になります
 
マクロで30ページ程の印刷を実行する時、プリンターから順次 印刷されてきますが、原稿の間違いに気付き、印刷を途中停止したい場合があります。プリンターのスイッチを切ってしまう方法も考えられますが、問題もありそうなので、 「印刷停止]ボタンで途中停止する方法はないでしょうか。宜しくお願いします。

回答
投稿日時: 18/05/06 20:21:06
投稿者: よろずや

PCからプリンタへデータが送られてバッファリングされ、その溜まったデータをプリンタが印刷しているので
たいていの場合PC側で何か操作しても手遅れです。
プリンタに付いている停止ボタンを使いましょう。

回答
投稿日時: 18/05/06 22:19:13
投稿者: MMYS

印刷は
1.Excelが印刷データを作成してOSに送る
2.OSが印刷データをプリンタに順次送る
3.プリンタが印刷を開始
 
となります。そして上記は非周期で処理されます。
つまり、プリンタを止めても「印刷待ちのドキュメント」
がOS側に溜まっていきます。
 
プリンタを止めてもプリンタが印刷可能になった時、
前回の溜まった印刷データが印刷されます。
 
http://cweb.canon.jp/e-support/faq/answer/inkjetprinter/36184-1.html
 

回答
投稿日時: 18/05/07 15:52:34
投稿者: mattuwan44

VBAで印刷の命令をするなら、
1ページ毎に印刷し、それの間に3秒〜5秒の待機時間を設けておけば、
「あっ!」と思った時にEscキー等で処理を止めることは可能でしょうが、
マクロが実行中の間、エクセルが使えなくなりますよね。。。
それでいいのかどうか?(もちろん、待機時間は1秒でも0.5秒でも設定はできます)
 
多分、「あっ!」と思ったら、
LANケーブルを抜いて印刷待ちをキャンセルする程度くらいしか対処のしようが無い気がします。
プリンターの電源を切るのは、紙詰まりの処理とかしないといけないので、
お勧めではありません。電源入れなおしてもジョブが残っている機種もある。
(メインスイッチを切れば消えると思うけど。。。)
 
なので、さっさと印刷の命令を終わらせて、
次の作業に移りたいと思うので、小細工せずに現状維持がお勧めだと思います。

回答
投稿日時: 18/05/07 17:08:40
投稿者: WinArrow
投稿者のウェブサイトに移動

確実な手順
 
間違いは誰にでもあります。
中には、用紙から、少しだけはみ出してしまい、
ブランクの用紙がでてくることもあり得ます。
 
そのようなことを防止する意味から、
印刷プレビューをお勧めします。
画面で印刷状態を確認してから「印刷」ボタンをクリックするようにします。

投稿日時: 18/05/07 22:19:25
投稿者: ISBSGR

皆さんありがとうございました。画面上からは無理なことがわかりましたが、プリターに停止ボタンがあるのには気が付きませんでした。エラーボタンとばかり思っていました。プリンターのマニュアルを見ても説明がありません。 よろずやさんには特に感謝です。