このページではJavaScriptを使用しています。スクリプトが無効に設定されているとメニュー等が表示されません。
Excel2013
以降はどう変わったか
Windows8
と同様にタブレット対応でしょうか....
「
Office2013
」以降しか知らない方には解らないと思いますが...
Office
が「
MDI(MultiDocumentInterface)
」から「
SDI(SingleDocumentInterface)
」に移行したということの説明です。
ネットで「
Office MDI SDI
」などで検索してみても、この前後のバージョンを良く知る方の記事は「酷評」ばかりです。
タブレットモードや他
OS
との動作統一などによるものと想像しますが、 複数ブックを開いた時にそれぞれのウィンドウで異なるリボンタブを選択した状態を保持できると言われても、 作成済みブックで作業する時にはリボンを触ることは少ないわけでベテランの方は画面上で幅を取るリボンはたたんで利用されていることも多いのです。
いまさら「
MDI(MultiDocumentInterface)
」に戻すことはないのでしょうが、 「
SDI(SingleDocumentInterface)
」では複数開かれたブックが同一インスタンスかどうかも判りにくく、 デスクトップを基調とする
Windows
ユーザーにとってメリットがあるとは思えませんでした。 開いたどれかのブックを閉じるのか、
Excel
全部を閉じるのかの作業判断も判りにくいです。
一方、スマートフォンが原点の若い人はそもそも
Windows
にも同等の理解しかしておらず、例えばメールの作成ウィンドウも最大化で使っていたりします。 だからマイクロソフトも既存ユーザーを無視して「タブレットモード」へ走るのかと思ったりもしましたが、 最近のマイクロソフトの動向を見ると、既存ユーザーや既存システムに対する配慮も見られるようになりました。
上記のような若い人たちにはベテランの方が
Windows
の「
s
」の意味や利点を教えていかないといけないと思います。
モノの呼び名がよく変わります....
例えば
Office2016
の途中から
(
「途中から」というのは初版ではなくアップデートの途中からだからです
)
、 それまで「セキュリティセンター」と呼んでいたものが「トラストセンター」に名称変更されました。
この他にもファイル保存形式の「
CSV
カンマ区切り」が
Office2016
から「
CSV
コンマ区切り」に変わったりしています。
新機能なら良いのですが、古くからある既存機能の名称が変わってしまうので、当方のような解説をやっている側では当惑します。 どうも変更時点のバージョンの新機能説明のページを見ても説明がされていないようです。
SDI(SingleDocumentInterface)
になってしまいました。
まず「おさらい」です。
Microsoft Office
は黎明期から
2010
までは全て「
MDI(MultiDocumentInterface)
」でした。 「
MDI(MultiDocumentInterface)
」というのは、
Windows
上では
Excel
のウィンドウは1つだけですが、その
Excel
のウィンドウの中に複数のドキュメントを開くことができる構造のユーザーインタフェースを指します。
まず、これは
Excel2010
で新規作成を2回行なった状態です。
「
Book1
」「
Book2
」はデスクトップの「
Microsoft Excel
」のウィンドウ内に
MDI(MultiDocumentInterface)
で表示されています。
閉じる[×]ボタンは外側の「
Microsoft Excel
」のウィンドウの他に内側の「
Book1
」「
Book2
」にもあるので、全体を閉じたいのか、
Book1
だけを閉じたいのか明確に作業できます。
ここから先は
Excel2013
の画像になります。
同じことを
Excel2013
で行なうとこのようになります。
「
Book1
」「
Book2
」はデスクトップ上で既に別々のウィンドウとなって表示されてしまいます。
一般ユーザーでは小さいスクリーンで運用していることが多く、何でも「最大化」で表示させているということだとこの違いがよく判らないのかも知れません。 「マルチ」が「シングル」になるというのは何か「後退的」な感じがするのではないでしょうか。 元々、スクリーン上に複数のウィンドウを同時に開くことができるという意味で「
Windows
」と命名されたものだと記憶していましたが、昨今のマイクロソフトの対応は「
Windows
」の名前、あるは複数形の「
s
」を捨てようとしているのでしょうか。
なぜ「
SDI(SingleDocumentInterface)
」にする必要があったのかですが、おそらくタブレットでは「
MDI(MultiDocumentInterface)
」のままでは実行できないのでしょう。 先にコラムに書いたことですが「どうして従来モードを残さないのだろう」「どうして従来インタフェースを平気で切り捨てられるのだろう」という疑問がついて回ります。
ですが、このようにタスクマネージャの「プロセス」で見ると「
EXCEL.EXE
」は1行しかないので同一(単一)のインスタンスであることが判ります。
Excel
の中で見ても、「ウィンドウの切り替え」に「
Book1
」「
Book2
」の両方が表示されるので同一のインスタンスであることが判ります。
整列で並べて表示を行なうとデスクトップ上で最大化されて並びます。
手操作では別インスタンスでブックを開くことはできないようで、タスクマネージャで状態を見ながらまず1つのブックを開き、次にスタートメニューから別に「
Excel2013
」を起動させると、一時的に「
EXCEL.EXE
」は2行表示されますが、すぐに1行に戻ります。この時点で「表示」タブの「ウィンドウの切り替え」を見るとそれぞれのウィンドウがプルダウンに現われるので同一インスタンスで扱える状態だと判ります。
閉じる操作については、単純には
Excel
全体を一気に閉じるということができなくなりました。「
Book1
」「
Book2
」等の全てのウィンドウを閉じることで
Excel
そのものも閉じられるようです。 複数のワークブックを開いている状態から一気にすべてのウィンドウを閉じる場合は、シフトキーを押しながら閉じる[×]ボタンをクリックすれば良いということです。
SDI
になったことでの一番の問題は
VBA
の話になりますが、ユーザーフォームを表示させたままで別のワークブックを開くような仕組みで発生します。
モーダルで表示されたユーザーフォームの
VBA
のコードによって別のワークブックを開く場合は、
Excel2010
までであればユーザーフォームが手前に表示されるため、後ろにある
Excel
のウィンドウ内に後から開いたワークブックがアクティブになって表示されますが、
Excel2013
の場合は開いたワークブックが手前に来てしまい、ユーザーフォームはその後ろに隠れてしまいます。
ユーザーフォームを表示させたままで別のワークブックを開くのではなく、ユーザーフォームを起動させている元のプロシージャに制御を戻して(ユーザーフォームは
Hide
で閉じる)から別のワークブックを開いて再度ユーザーフォームを表示させ直すという操作で回避はできますが、それでも再度ユーザーフォームを表示させた段階ではユーザーフォームが所属しているワークブックがアクティブになってしまいます。
通常であればワークブック参照のオブジェクトに対して
Activate
メソッドでウィンドウの前後が入れ替わってくれますが、モーダルで表示されたユーザーフォームが手前に表示されている状態では後ろで表示されている複数の
Excel
ウィンドウに対して
Activate
メソッドを発行しても実際の順位は入れ替わりません。
このほか、従来であれば
Excel
のウィンドウ内にあるワークブックのウィンドウを最小化、最大化できたわけですが、
SDI
では
Excel
のウィンドウとワークブックのウィンドウが同一であるため、これらのウィンドウ操作は何の作用も行なわれないようです。