我正在處理現有的Excel VSTO插件,當用戶編輯MS Word文檔中嵌入的工作簿時會導致問題。在該環境中插件功能並不是必需的,但它會導致嵌入發生故障,即使客戶正在操作與外掛程序操作無關的文件。至少,我需要讓它不爲該工作簿自行初始化。我的VSTO Excel插件如何判斷工作簿是否嵌入Word文檔?
一些途徑我已經調查:
- 爲Microsoft.Office.Interop.Excel.Workbook.Application的文件上寫着:「當沒有 使用對象限定符,該屬性返回Application對象 代表Microsoft Excel應用程序當與 對象限定符一起使用時,此屬性返回一個應用程序對象, 表示指定對象的創建者(您可以使用此OLE自動化對象的此 屬性返回n應用 那個對象)。「這聽起來很有希望,但是,我不明白 什麼「與對象限定符」意味着在C#的上下文中。
- This link建議檢查命令行參數。但是,如果我單獨打開Excel,然後用嵌入式Excel對象打開我的Word文檔,則Word使用相同的實例進行嵌入,而命令行參數將不包含「-embedded」標誌。
- 我很想強制OLE使用Excel的新實例(而不是重用現有的獨立實例),但我無法弄清楚如何做到這一點。
由於Excel的單個實例可以同時託管嵌入工作簿和獨立工作簿,因此此信息需要位於工作簿級別。
你有沒有科幻指出這一點?我想在Word文檔中禁用嵌入式Excel工作簿的插件。 – tjsmith
對不起,但我們還沒有回到這個問題。不過,我仍然對解決方案感興趣。 –