データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
こんにちは。
確認してみました。
ブラウザ上でExcelファイルを開いた場合にメッセージが表示されるようですね。
試しに、Excelの方ではなく親となるInternetExplorerオブジェクトのOnQuitイベントを
拾って見ましたが、OnQuitよりも早くダイアログが表示されました。
ブラウザでExcelファイルを表示させた場合、InternetExplorerオブジェクトの
DocumentがWorkbookとなり、HTMLWindow2オブジェクトのonbeforeunloadイベントを
拾うこともできませんでした(IE6の場合)。
どうしてもダイアログを表示させたくない場合はSheetChangeイベントあたりに
「ThisWorkbook.Saved = True」入れれば対応できるかと思いますが、
シート上の値が変化する度にイベントが走るので、あまり好ましくないように
思います。
私個人としては、ダイアログが表示されるのは気にせず、「確認メッセージが表示されたら
「いいえ」ボタンをクリックしてください。」と通達する等して、運用上でカバーした方が
方が良いのではないかと思います。
(もしくはブラウザ上でファイルを開かないようにするか)
もしどうしても制御したい場合には、例えばセルA1の値が変化したときだけ
ThisWorkbook.Saved = Trueが実行される、というように条件を指定しておいた
方が良いでしょう。