中途半端なMDI


今までのExcelは、Excel本体上に複数のブックを開き、それらをウィンドウとして管理してきました。こうしたプログラムの形式をMDI(Multiple Document Interface)と呼びます。対して、プログラムでは1つのデータファイルしか開くことができず、複数のデータファイルを操作するときは、その数だけのプログラムを起動しなければならないような形式がSDI(Single Document Interface)です。

今までのExcelは間違いなくMDIでした。ブックを個別に閉じることもできましたし、プログラム自体を終わらせれば、その時点で開いているすべてのブックも閉じられました。しかし、Excel 2007ではこの形式が少し変更されました。

上の図をよくご覧ください。右上です。[_][□][×]ボタンが2列表示されていますよね。上の[_][□][×]群はExcelのボタンで、下の[_][□][×]はブック(ウィンドウ)のボタンです。この配置を見ると、従来のMDIと何も変わらないように見えますが実際は違います。複数のブックを開いているとき、Excelの[×]ボタンをクリックするとアクティブブックが閉じます。このボタンでは、いきなりExcelを終了することはできません。開いているブックが1枚だけの場合は、ブックを閉じるとともにExcelも終了するのですが、それなら一般的なMDI仕様にすればいいのに・・・

まとめると、こういうことです。

・ブックを1つしか開いていないとき

子[×]ボタン…アクティブブックを閉じます。Excelは終了しません

親[×]ボタン…アクティブブックを閉じると同時にExcelを終了します

・ブックを2つ以上開いているとき

子[×]ボタン…アクティブブックを閉じます。Excelは終了しません

親[×]ボタン…アクティブブックを閉じます。Excelは終了しません

なお、[ファイル]メニューの[Excelの終了]は、複数のブックを開いている状態で実行すると、すべてのブックを閉じてExcelも終了します。複数のブックを開いているとき、右上の[×]ボタンでは、すべてのブックを一気に閉じてExcelも終了……ができなくなりました。これは、慣れるまで相当なストレスでしょう。