[[20081013114718]] 『AfterPrint』(おが) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『AfterPrint』(おが)
BeforePrintのように印刷後にイベントを発生する方法はないですか。


 方法1 BeforePrintイベントプロシジャー内で印刷処理を管理してしまう方法。

 新規ブックのアクティブシートには印刷用に適当なセルに文字を入力して置いてください。

 このブックのThisWorkBookのモジュールに

 '===========================================================================
 Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Application.EnableEvents = False
    With ActiveSheet
       .PrintOut 'コードで印刷させた後に
    ' 印刷後に処理したいコードを以下に記述する
       .Range("a1").Value = "印刷完了"
       End With
    Application.EnableEvents = True
    Cancel = True
 End Sub

 これが構造上はシンプルだし、簡単ですが、印刷に関しては決まった処理になってしまいますね!!
 色々な印刷を可能にするとなると、コードが面倒です。
 が、逆に印刷に関して決まったことしかさせない場合は、良いでしょう!
 

 方法2 Ontimeメソッドを使って印刷後の擬似イベントを実現する方法。

 新規ブックのアクティブシートには印刷用に適当なセルに文字を入力して置いてください。

 このブックのThisWorkBookのモジュールに

 '===============================================================================
 Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Application.OnTime Now(), "ThisWorkbook.AfterPrint"
 End Sub
 '===============================================================================
 Sub AfterPrint()
    ActiveSheet.Range("a1").Value = "印刷完了"
 'ここに印刷後の処理コードを記述
 End Sub

 試してみてください。

 ichinose

 


ありがとうございます。擬似イベントの意味がわかりませんが、やってみます。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.