單文件介面與多文件介面

請注意,Microsoft Excel 2013(及更高版本)使用單文件介面(SDI),Excel 2010(及以下版本)使用多文件介面(MDI)。

這意味著對於 Excel 2013(SDI),單個 Excel 例項中的每個工作簿都包含自己的功能區 UI:

http://i.stack.imgur.com/VY2TA.jpg

相反,對於 Excel 2010,單個 Excel 例項中的每個工作簿都使用通用功能區 UI(MDI)http://i.stack.imgur.com/I4Dv1.jpg

如果要遷移與功能區互動的 VBA 程式碼(2010 < - > 2013),則會引發一些重要問題。

必須建立一個過程,以便在 Excel 2013 及更高版本的所有工作簿中更新處於相同狀態的功能區 UI 控制元件。

注意 :

  1. 所有 Excel 應用程式級視窗方法,事件和屬性都不受影響。 (Application.ActiveWindowApplication.Windows ……)
  2. 在 Excel 2013 及更高版本(SDI)中,所有工作簿級視窗方法,事件和屬性現在都在頂級視窗中執行。可以使用 Application.Hwnd 檢索此頂級視窗的控制代碼

要獲取更多詳細資訊,請參閱此示例的來源: MSDN

這也會導致無模式使用者表單出現問題。請參閱此處獲取解決方案。