Excel 檔案在獨立視窗開啟的兩大解法
Excel 2010/2007 預設單一進程(SDI→MDI 回歸),多檔案開在同一視窗,無法利用 Win7 側邊靠邊比較。本文提供「臨時繞過」與「永久修正」兩種方案。
方案一:快速臨時開啟新視窗(零風險、無需管理員權限)
- 法 A:開始功能表再開一次 Excel → 「檔案」→「開啟」選檔。等於啟動第二個 `excel.exe` 進程。
- 法 B:工作列圖示 中鍵點擊(滾輪鍵) → 直接啟動新 Excel 視窗(最快)。
- 法 C:按住 Shift 點選工作列 Excel 圖示 → 同樣啟動新執行個體。
適合偶爾需並排比較的場景。
方案二:登錄表修改,永久恢復「雙擊檔案即開新視窗」
⚠ 風險警示: 修改登錄表有風險,操作前必須匯出備份對應機碼。
自動修復工具(Microsoft 官方 Fix it)
下載執行 Microsoft Fix it 50801,依嚮導操作即可自動修改登錄表並建立桌面備份。最安全省時。
手動修改登錄表(以 Office 2010 為例)
- Win+R → `regedit` → 進入登錄表編輯器。
- 定位機碼:
HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open
(Office 2007 為 `Excel.Sheet.12` → `Excel.Sheet.8`;Office 2013+ 為 `Excel.Sheet.12` 但路徑可能不同)。
- 右鍵 `Open` → 「匯出」備份為 `.reg` 檔。
- 展開 `Open` → `command`,雙擊右側「預設」值,修改為:
"C:\Program Files\Microsoft Office\Office14\EXCEL.EXE" "%1"
(Office 2007 將 `Office14` 改 `Office12`;64 位系統可能為 `Program Files (x86)`。**引號不可漏**。)
- 同 `command` 下的 `command` 值(或 `ddeexec`),將 `%1` 替換原 `/dde` 或 `/e` 參數。
- 重新命名 `ddeexec` 為 `ddeexec2`(停用 DDE 通訊,強制新進程)。
- 對 `HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open` 重複上述步驟(支援 .xls 檔)。
原理說明
預設 Excel 使用 DDE(動態資料交換)與現有進程通訊,將新檔案丟給既有視窗。修改登錄表移除 DDE 指令、改用 `%1` 參數直接傳遞檔案路徑給新 `EXCEL.EXE` 進程,即實現單一文件獨立視窗(SDI 模式)。
適用版本與副作用
- 適用:Excel 2007/2010/2013/2016/2019/365(機碼路徑微調)。
- 副作用:記憶體佔用增加(每檔一進程)、巨集跨檔互動受限、剪貼簿跨視窗偶發問題。
- 還原:雙擊備份的 `.reg` 檔匯入即可恢復預設。
建議:日常用「中鍵點擊工作列」臨時開新視窗;真有高頻並排比較需求且記憶體充足(≥16GB),再考慮登錄表永久修改。