Openai/69509ae0-53e8-8004-aaaa-2f999c8dda20
This conversation was exported from ChatGPT[1]
gpt-5-2-thinking[edit | edit source]
User: “■エクセルのキモさ[edit | edit source]
“■エクセルのキモさ
・Ctrl+zが複数ブック間に跨ってる(そうであってほしいことなんて一度もないのに)
・同じ名前のブック開けない
・新たにブック開いたら前のブックが出しゃばって来る
・コピーしたあと何かをdeleteしたら、手に持ってたはずのコピーが消える
・ファイル選択ダイアログ開いたら、ダイアログ開いてない他のブックも操作できなくなる
・セル編集中は新しいブックを開こうとしても阻害される” という記事があった。これって昔MDIだったことと関係あるかな。でも今はSDIだよね。返事は日本語で。
Assistant: かなり関係あります。ただし「MDIだった名残そのもの」というより、いまSDIでも“同一インスタンス(同一プロセス)内のブック群”として設計されている名残、と言ったほうが当たりが近いです。[edit | edit source]
かなり関係あります。ただし「MDIだった名残そのもの」というより、いまSDIでも“同一インスタンス(同一プロセス)内のブック群”として設計されている名残、と言ったほうが当たりが近いです。
Excel 2013以降はSDIで、1つのウィンドウに1つのブックが入る見た目になりました(各ウィンドウに専用のリボンも付く)。ただし既定では、新しいブックを開いても同じExcelインスタンス(同じプロセス)内に載ります。Microsoftの説明でも「別ウィンドウだが同じインスタンス」と明言されています。 Microsoft Learn[2] そして、その同一インスタンス内では計算や設定などが「グローバル」に共有されるものが残っています(再計算がグローバル、ブック間参照は同じ計算モードを共有、など)。 Microsoft Learn[3]
この前提で、挙がってる“キモさ”を仕分けすると:
1) Ctrl+Zが複数ブックに跨る[edit | edit source]
これはMDI/SDIというより「1セッション=1つのUndoスタック」設計の結果で、今も「仕様(by design)」扱いです。 Microsoft Learn[4] SDIになっても「同じインスタンスで複数ブックを扱う」限り、Undoをブック単位に分けてないので跨ります。
2) 同じ名前のブックを開けない[edit | edit source]
これも「同一インスタンス内のWorkbooksコレクション(や内部識別)の都合」が濃厚で、Microsoftの回答でも“同名ブックは同時に開けない→別インスタンスで開け”という回避策になっています。 Microsoft Learn[5] (ここはOSのMDI/SDIというより、Excel側の“インスタンス内一意”制約っぽい。)
3) 新たにブック開いたら前のブックが出しゃばって来る[edit | edit source]
これは体感的には「同一インスタンスのUIスレッド/アクティブブックの切替イベントが強い」系で、SDIになっても“インスタンス内のアクティブ管理”が残ってるせいで起きがちです。MDIの見た目が消えても、内部の「アプリ主導でアクティブを握る」癖は残ります。
4) コピーしたあと何かをdeleteしたら、手に持ってたはずのコピーが消える[edit | edit source]
これはExcelのCut/Copyモード(いわゆる“marching ants”)が、特定の操作で解除される仕様にかなり近いです。実際「だいたい何をしても(編集モードに入る等で)クリップボード内容ごと消える」趣旨の説明がMicrosoft Q&Aでもされています。 Microsoft Learn[6] SDI/MDIというより、Excelのコピー実装(内部クリップボード+モード)問題。
5) ファイル選択ダイアログを開いたら、他のブックも操作できなくなる[edit | edit source]
これはアプリケーション・モーダル(そのExcelインスタンスを止める)だからです。 SDIは「ウィンドウが分かれた」だけで、同一インスタンスならダイアログはインスタンス全体をロックしがち。
6) セル編集中は新しいブックを開こうとしても阻害される[edit | edit source]
これもExcelのセル編集が“別モード”(モーダル状態)だからで、編集確定/キャンセルを優先して他コマンドを抑止します。MDI/SDIとは独立の話。
じゃあ「昔MDIだったこと」とどこが繋がる?[edit | edit source]
繋がるポイントはこうです:
- SDI化は“ウィンドウ管理の変更”であって、
- “同一インスタンス内で複数ブックを一括管理する思想”は残った(Undo・計算・アクティブ管理・モーダルUIなどがインスタンス単位) Microsoft Learn[7]
つまり、MDIの頃に自然だった「アプリが全部まとめて面倒を見る」設計が、SDIでもかなり温存されてて、その摩擦が“キモさ”として出てる感じです。
いちばん効く回避策(思想レベル)[edit | edit source]
「別ウィンドウ」に見えても同じインスタンスなので、本当に分離したいなら“別インスタンス(別プロセス)”で開くのが効きます。Microsoft公式でも excel.exe /x で新プロセス起動できると書いてあります。 Microsoft Learn[8] これをやると、少なくとも Undoの跨り と モーダルダイアログの巻き込み は“別インスタンス側”には波及しません(逆に言うと、同一インスタンスに載せてる限り治らない)。
必要なら、あなたの環境(Windows/Mac、Excelの版)前提で「普段の開き方を極力ラクにしたまま、必要時だけ別インスタンスで開く運用」を具体例つきで組みます。
User: 「“同一インスタンス内で複数ブックを一括管理する思想”は残った」のところだけど、最初からSDIだったらこうなってなかったかな。返事は日本語で。[edit | edit source]
「“同一インスタンス内で複数ブックを一括管理する思想”は残った」のところだけど、最初からSDIだったらこうなってなかったかな。返事は日本語で。
Assistant: かなりの部分は「最初からSDI文化で育ってたら、今みたいにはならなかった可能性が高い」と思う。少なくとも “ユーザーが期待する単位”が「このウィンドウ=このドキュメント」になりやすいので、設計者もそこに寄せる圧が強くなる。[edit | edit source]
かなりの部分は「最初からSDI文化で育ってたら、今みたいにはならなかった可能性が高い」と思う。少なくとも “ユーザーが期待する単位”が「このウィンドウ=このドキュメント」になりやすいので、設計者もそこに寄せる圧が強くなる。
ただし、全部が消えたかというと微妙で、理由は2つあります。
1) 「MDIの名残」で説明できるタイプ(SDI起源なら別設計になりやすい)[edit | edit source]
- Undoがブックを跨る これは典型的に「アプリ全体で1つの編集履歴」発想。最初からSDI・ドキュメント中心なら、Wordみたいに「文書単位Undo」に寄せた可能性は高い。 ただし Excel は「ブック間で一発操作(参照・貼り付け・移動)」が多いので、完全分離のUndo設計は最初から難題ではある。
- ダイアログが“他のブックも操作不能”にする これも「アプリケーション・モーダル」文化の濃さ。SDIネイティブなら「そのウィンドウだけモーダル」にする圧が強いので、今ほど雑に全体を止めない方向に進んだ可能性がある。
- アクティブブックが出しゃばる/フォーカス奪い合い アプリが“全体の状態”を握りたがるのもMDI的。SDIで育つと各ウィンドウがもっと自治することが多い。
このへんは、あなたの直感どおり「最初からSDIなら、そうは作らなかったかも」が効きやすい領域。
2) 「Excelというアプリの性質」上、SDIでも残りがちなタイプ[edit | edit source]
- セル編集中に他操作を強く抑止する これはMDI/SDIというより「セル編集中=未確定の式・参照選択・IME絡み」という“特殊モード”をどう扱うかの問題で、どのみち制約は出やすい。
- コピーが特定操作で消える(Cut/Copyモードの解除) これもExcel特有の「範囲コピー=単なるクリップボード以上のモード」なので、SDIでも“変な消え方”自体は残った可能性が高い(ただ、別ブック・別ウィンドウへの波及範囲はもっと限定できたかもしれない)。
- 同じ名前のブックを開けない これは内部識別や参照解決、VBA/アドイン/自動化(COM)的な“ブックを名前で掴む文化”まで絡むので、SDI起源でも「インスタンス内一意」制約は残り得る。 (ただし、設計の自由度は増えるので、別名表示や内部IDで逃がす余地はあったはず。)
結論[edit | edit source]
- 「最初からSDIだったら今ほどキモくなかった」可能性は高い(特に Undo・モーダル・フォーカスまわり)。
- でも Excel は ブック間操作・参照・計算・アドイン/マクロ・自動化で“アプリ全体を1セッションとして扱う旨味”が大きいので、SDI起源でも「同一インスタンスで複数ブックを束ねる」方向へ引力が働きやすい。
- なので、キモさが0にはならないが、質と出方はかなり違った、がいちばん自然な落としどころだと思う。
もし「この箇条書きの中でどれが“設計の名残”で、どれが“本質的に難しい”か」をもう少し厳密に分類したいなら、各項目について「それが起きる最低条件(同一プロセス?同一インスタンス?同一UIスレッド?)」の観点で切り分けもできるよ。
References[edit | edit source]
- ↑ "Excel SDI MDI 問題". ChatGPT. Retrieved 2025-12-29.
- ↑ "Microsoft Learn". Microsoft Learn. Retrieved 2025-12-29.
- ↑ "Microsoft Learn". Microsoft Learn. Retrieved 2025-12-29.
- ↑ "Microsoft Learn". Microsoft Learn. Retrieved 2025-12-29.
- ↑ "Microsoft Learn". Microsoft Learn. Retrieved 2025-12-29.
- ↑ "Microsoft Learn". Microsoft Learn. Retrieved 2025-12-29.
- ↑ "Microsoft Learn". Microsoft Learn. Retrieved 2025-12-29.
- ↑ "Microsoft Learn". Microsoft Learn. Retrieved 2025-12-29.