Excel VBAでは,シートの印刷前後にイベントを設定可能
シートの印刷の実行前と完了後のタイミングを検出して,
VBAマクロで処理を埋め込む事が可能。
- 印刷前:Workbook_BeforePrint
- 印刷後:Application.OnTimeを上手く使う
注意点として,Workbook_AfterPrintという関数は存在しないので,代替手段を使う。下記リンクを参照。
参考ページ:
印刷前と印刷後のイベントを制御する-エクセルVBAテクニック集
http://www.officelabo.net/vbaskill/vb...
- 印刷前にOntimeで実行すると、実際には印刷後に実行される
10.5 印刷する前 - Excel VBA Tips
http://www.happy2-island.com/excelsmi...
- 印刷しちゃいけないワークシートだったときは印刷に「待った!」をかけるサンプルコード
エクセルVBA エクセルツールバーの印刷ボタンを押したときに、メッセージボックス...
http://detail.chiebukuro.yahoo.co.jp/...
- 複雑な処理も埋め込める
Excel VBA の印刷後の判定 - オフィス系ソフト - 教えて!goo
http://oshiete.goo.ne.jp/qa/1786232.html
- BeforePrint イベントは印刷プレビューでもイベントが走ってしまうという欠点がある
ワークブックが持つ主なイベントプロシージャの一覧表:
エクセルExcel大事典 VBAマクロ イベントプロシージャ Open Target Cancel EnableEvents Volatile
http://home.att.ne.jp/zeta/gen/excel/...
- イベントプロシージャとは、ブックやワークシートなど、Excelのオブジェクトに対して特定の動作を行ったとき、OSがそれを検知して実行させることができるプロシージャのこと
帳票ソリューションを使う場合,似たような独自のCOMイベントがある:
BeforeFormatPage Event (Report Object)
http://devlibrary.businessobjects.com...
VB Crystal Report, Can I change paper bins?
http://computer-programming-forum.com...
発端になった質問:
エクセル2010です。 左から順に店名・品名・売上数量と並んでい..
http://q.hatena.ne.jp/1385692347
- いったん印刷が始まってしまうと,1ジョブ分の印刷タスクが終わるまでは,Excel側からプリンタ側に制御が移っているので,手を出せない。だから,印刷の実行単位を分けたほうがよくて,そのためにはシートを分割したほうがいい
- Excel で中心になるのは、シート内でどの位置にあるか、という情報。「改ページした結果のページ内で、どこの位置にあるか」という情報は、excel では扱いづらいので、そういう発想は避ける
- 改ページを手動で頑張って使い続けると、データが増えてきた時にメンテに苦労するし困ることも多いので、あまりおすすめできない