我有一個C#應用程序(.net 1.1)和使用Excel Interop來顯示一些reoprts。事實證明,當打開Excel工作簿時,XLSTART中的文件不會被讀取,就好像/自動化命令行開關已經運行一樣。Excel XLSTART問題與C#/。網
從C#啓動XLS工作表時,有什麼辦法可以啓用XLSTART嗎?
我有一個C#應用程序(.net 1.1)和使用Excel Interop來顯示一些reoprts。事實證明,當打開Excel工作簿時,XLSTART中的文件不會被讀取,就好像/自動化命令行開關已經運行一樣。Excel XLSTART問題與C#/。網
從C#啓動XLS工作表時,有什麼辦法可以啓用XLSTART嗎?
因爲它使用interop,所以它將Excel作爲自動化服務器打開。這與使用/自動化開關是一樣的。當以這種方式打開Excel時,所有自動打開的文件和自動運行的宏都被禁用。
此行爲是設計使然。您可以加載在XLSTART加載項文件夾自己作爲微軟描述:
Add-ins do not load when using the CreateObject command in Excel
,你必須是Excel中使用Process.Start
,然後從一個自動化對象,開始另一種選擇通過調用AccessibleObjectFromWindow
函數運行實例。
示例代碼如何在C#或VB這樣做可以在相關的問題上找到:
請注意,您不必使用作爲後期綁定在給出的例子中。像這樣修改樣本會給你一個強類型的Excel.Application
對象:
Excel.Application xlApp = ptr.GetType().InvokeMember("Application",
BindingFlags.GetProperty, null, ptr, null);