エクセルのオブジェクトには、色々なプロパティで変更可能なものやメソッドの利用がある。それらの変更や利用のタイミング(前)で知らせてもらえるイベントは、極く限られたものしかない。メニュー利用操作のほとんどについて、個別にはそういうものは無いと考えたほうが当たっている。
例えばシートの削除やXXの設定など、変更しようとしたときイベントプロシに飛んでくれるとありがたいことは多々あり(特に禁止したいとき)、質問も時どき出ているが、そこまでエクセルのイベント告知が精緻にはしてない。
質問者は、シートやブックのイベントの種類を勉強したら実感するだろう。
それと別の観点からになるが、シートの保護などのことを勉強したらどうでしょう。
ーー
本件はたまたまWorkbook_BeforePrintイベントがあるので、そのときヘッダー・フッターの設定できる全内容(マクロの記録を採ると出てくる)を、質問者の望みの内容に書き換えて、印刷してはどうだろう。
印刷する前は、ページ設定の画面で、変更されたら変更したままになって、そう見えるが、やむをえない。
ーー
勝手なLeftHeader の1例
ThisWorkbookのイベントで
Private Sub Workbook_BeforePrint(Cancel As Boolean)
MsgBox "印刷前"
ActiveSheet.PageSetup.LeftHeader = "&N & - &""-,標準""&P"
End Sub
お礼
うまくいきました。 次のとおり記述してコンパイルがとおりました。 Cancel As Boolean を追加しました、作法が正しくなかったようです。 Private Sub Workbook_BeforePrint(Cancel As Boolean) アドバイスを頂いた皆さん、ありがとうございました。