業務でVBAを使用中。
アプリケーションレベルで使用したグローバル変数を開放するのは
Excelが閉じられるタイミングということで
その処理をBeforeCloseイベントに記述していた。
ただ、このイベントは複数回呼ばれる可能性がある。
具体的には、対象プロジェクトを含むExcel(A)と通常のExcel(B)が同時に起動
されている場合。
1.(B)が変更されてSaveされていない状態で、Closeボタンが押下される。
2.一回目のBeforeCloseイベントが呼ばれて、グローバル変数を開放。
3.(B)の変更を保存しますか?のダイアログ表示→「キャンセル」選択
4.(A)の画面に戻る
5.アプリケーションの操作再開
4.の時点で、すでにグローバル変数は開放されているので
実行時エラー。。。。
PR