• ベストアンサー

エクセルを閉じる時のVBAのプログラム

エクセルを閉じる時に実行するVBAのプログラムを記述する時は、 どのように記述すれば良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

Thisworkbookモジュールの「Workbook_BeforeClose」イベントに記述すると、 ブックを閉じる直前に実行されます。 蛇足ですが・・・ 処理の中で以下を追加すると、ブックを閉じる処理を停止することが出来ます。 Cancel = True

参考URL:
http://siroutoex.web.fc2.com/vba8/vba_8_2.htm

その他の回答 (1)

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.2

>エクセルを閉じる時に実行するVBAのプログラムを記述する時は、 >どのように記述すれば良いのでしょうか? No1です。 ブックではなく、エクセル本体(プロセス)終了時に実行したいということであれば そのようなイベントはありません。 そもそも、マクロはブック内に記述されますので、ブックが起動していないエクセルにコードを記述する方法がありませんので、VBAではできません。 他のプログラムでエクセルプロセスを監視することになります。 ですが、 http://office.microsoft.com/ja-jp/excel-help/HP010197489.aspx XLSTARTにNo1の方法でマクロを記述し、非表示に設定した状態で保存すれば エクセルの起動時に毎回非表示で該当ブックが開かれますので エクセルの終了→非表示のブックの終了操作→Workbook_BeforeCloseの実行→非表示ブックの終了 となり、お望みの動作ができるのではないでしょうか。 表示タブの非表示リストに表示されてしまいますので、表示したくない場合は上記方法の保存時に エクセルアドインファイル(xlam)として保存し、エクセルオプションのアドイン設定から有効化してください。

関連するQ&A