2011-12-07 127 views
25

我想在C#.Net中開發一個MS Office插件,並且我無權訪問Visual Studio。相反,我使用SharpDevelop作爲我的IDE,(但我的問題同樣適用於開發使用任何其他IDE或從命令行編譯的任何人......)如何在沒有Visual Studio的情況下開發Microsoft Office AddIn

我已經做了一些搜索指南開發加載項,但他們似乎都需要的Visual Studio,並按照下列步驟操作:

  1. 安裝互操作程序集
  2. 創建一個Visual Studio .NET項目(我無法做到這一點位
  3. 擴展VS ThisAddIn模板

我已經設法做的是:

  1. 安裝互操作程序集
  2. 創建一個C#空SharpDevelop的項目
  3. 添加GAC參考Microsoft.Office.Interop .Outlook
  4. 添加COM引用到Microsoft Office 12.0對象庫
  5. 添加一行using Outlook = Microsoft.Office.Interop.Outlook;
  6. 和行using Office = Microsoft.Office.Core;
  7. 看看一些示例代碼,並意識到它們都引用VS模板和我沒有的VSTO庫(Microsoft.Office.Tools)。

我該從哪裏出發?有沒有我錯過的指導/教程,或有人提供一些指針?

+2

這看起來像試圖用叉子吃湯,無論如何,你應該在正確的軌道上......你可以嘗試MonoDevelop,它應該有點類似於VS,但我有一點經驗 – Alex

+1

我真的之後是使用C#創建Microsoft Office AddIn的IDE獨立方式。所以IDE的選擇不應該是一個因素。 –

+0

@sprocketonline - 你明白那裏有沒有什麼特別的關於Visual Studio項目的權利? –

回答

18

NetOffice(http://netoffice.codeplex.com)是一個偉大的一套Office版本無關的互操作程序集。這就是使用SharpDevelop製作加載項所需的全部內容,並且該項目也包含大量教程和示例,其中包括一些Outlook。

如果您使用Excel-DNA(您需要從.NET公開用戶定義的工作表函數)爲Excel創建加載項,NetOffice仍會爲您提供一組用於訪問Excel COM自動化接口的補充庫你的Excel-DNA插件,所以他們一起工作得很好。

對於這兩種NetOffice和Excel-DNA,你也可以使用免費的Visual Studio Express的版本(與獲得調試工作需要一些小花招)。Visual Studio Express根本不包括VSTO。 SharpDevelop還具有比Express版更多的功能,比如內置重構和VB.NET < - > C#翻譯工具,因此有充分的理由選擇SharpDevelop作爲免費的IDE。

+0

NetOffice看起來棒極了。希望在使用Visual STudio之前,我已經看到了這一點,但切換到Sharp Develop還不算太晚:D – giorgio79

+1

NetOffice只是您使用的.NET庫的集合,而不是特殊的VSTO庫或Office互操作程序集。您可以使用Visual Studio或SharpDevelop完美地使用它。 – Govert

0

編輯:我錯過了對Outlook的參考,我的apolgies。

對於Outlook,請看here。 Outlook Redemption很有用。

我不是一個Word專家,但網上有很多教程。

對於Excel,我建議你實際上看ExcelDNA

大量關於這一主題做題。例如,請參閱Exposing .net methods as Excel functions?作爲關於從何處開始以及您的選擇是什麼的其他建議。

+0

是否有類似的東西爲Outlook或Word? –

+0

@sprocketonline - 只要使用相同的基本原則。 –

相關問題