Excel VBAに効く Vitamin E
ExcelのDialogsを使うとモーダルが解除される
ExcelのフォームからDialogを開くとExcelのモ−ダルが解除されます。つまり通常フォームを開いていればExcelシートには触れませんが、Dialogを開くと触ることが出来ます。モ−ダルが解除された状態でExcel97ではセルの内容を変更することが出来ますが、Excel2000では変更できません。この現象は Application.GetOpenFileName メソッドなどでも発生します。
MSではこの件について事実のみを認め仕様だとはいっていません。(01/10/04確認)

なお Win32APIの GetOpenFileName を使ってもモ−ダルは解除されません。
おまけに 「組み込みダイアログ ボックス引数一覧」 をシートに書き出してあります。全部で226個あり、書き出し項目は定数名、値、引数(日本語)です。
*Excel97のヘルプから作成しましたが、検証はしておりません。

使用方法
メニューの「ツール」→「マクロ」→「マクロ」から「DialogTest」を実行します。
Application.GetOpenFileName Application.Dialogs(xlDialogAttachToolbars) ボタンをクリックするとモ−ダルが解除されます。
最初に GetOpenFileName(Win32 API) ボタンをクリックした場合、モ−ダルは解除されません。
XlsDialog.xlsのダウンロード(XlsDialog.lzh)

(UPD:01/10/13)