2013-06-12 102 views
1

我想運行(打開)Excel中的一個C#程序內加載特定的插件,同時加載特定的插件。這可能嗎? C#程序應該是一種啓動程序EXE,它可以打開自己特定的Excel解決方案(使用與VSTO一起開發的特定Addin(DLL))打開Excel。加載項(功能區)從頭開始,以便隱藏所有其他內置選項卡。僅當啓動程序EXE啓動Excel時,才應加載加載項。啓動Excel並從另一個程序

我知道,Excel可以例如用

ProcessStartInfo startInfo = new ProcessStartInfo(); 
startInfo.FileName = "EXCEL.EXE"; 
Process.Start(startInfo); 

啓動但有一個可能性,說新的Excel進程,插件應該是負荷?

+0

您的插件是.xlam還是.dll? –

+0

這是一個.dll插件 –

+1

啊。那麼我認爲沒有辦法。 Excel命令行僅支持「/ r」(對於.xlam's有用)和「/ a」(對於自動化插件)。 –

回答

1

我會檢查到使用互操作從該版本的Office。

這裏是關於命名空間的一些信息,你應該能夠得到從擴展DLL或它們位於你的辦公室文件夾中。就運行一個特定的插件而言,互操作庫中可能有些東西可以與之結合,但我不確定。

http://msdn.microsoft.com/en-us/library/ms262200(v=office.11).aspx

0

您可以通過黑客註冊表實現這一目標。在啓動excel goto registry之前,你需要在開始加載(3)時加載你想要顯示的插件。在你的啓動程序中啓動excel進程後,重置這些加載程序加載行爲以卸載(0),以便當某人啓動excel時,不會顯示此插件。您的啓動器代碼看起來有點像這樣

// Code to change load behavior of addins to Load 
    ProcessStartInfo startInfo = new ProcessStartInfo(); 
    startInfo.FileName = "EXCEL.EXE"; 
    Process.Start(startInfo); 
// Code to change load behavior of addins to UnLoad 
相關問題