【问题标题】:How to develop a Microsoft Office AddIn without Visual Studio如何在没有 Visual Studio 的情况下开发 Microsoft Office 插件
【发布时间】:2012-01-14 23:32:22
【问题描述】:

我正在尝试在 C# .Net 中开发 MS Office 插件,但我无法访问 Visual Studio。相反,我使用 SharpDevelop 作为我的 IDE,(但我的问题同样适用于使用任何其他 IDE 开发或从命令行编译的任何人......)

我已经搜索了一些关于如何开发插件的指南,但它们似乎都需要 Visual Studio 并按照以下步骤操作:

  1. 安装互操作程序集
  2. 创建一个 Visual Studio .Net 项目(我无法做到这一点
  3. 扩展 VS ThisAddIn 模板

我设法做的是:

  1. 安装互操作程序集
  2. 创建一个 C# 空 SharpDevelop 项目
  3. 添加对 Microsoft.Office.Interop.Outlook 的 GAC 引用
  4. 添加对 Microsoft Office 12.0 对象库的 COM 引用
  5. 添加行using Outlook = Microsoft.Office.Interop.Outlook;
  6. using Office = Microsoft.Office.Core;
  7. 查看一些示例代码,发现它们都引用了我没有的 VS 模板和 VSTO 库 (Microsoft.Office.Tools)。

我从这里去哪里?有没有我错过的指南/教程,或者有人可以提供一些指示吗?

【问题讨论】:

  • 这看起来像是想用叉子吃汤,反正你应该走在正确的轨道上……你可以试试 MonoDevelop,它应该有点类似于 VS,但我对它没有什么经验
  • 我真正追求的是使用 C# 创建 Microsoft Office 插件的独立于 IDE 的方式。所以IDE的选择不应该是一个因素。
  • @sprocketonline - 你明白 Visual Studio 项目没有什么特别之处吧?
  • @Ramhound 是的,但是我如何获得 Microsoft.Office.Tools 库以及在哪里可以找到一些不依赖于 Visual Studio 模板创建的 ThisAddIn 部分类的示例代码?
  • 如果有办法安装 Microsoft.Office.Tools 并且我可以在没有 Visual Studio 的情况下复制模板生成的代码(并且不违反任何许可证),这可能是一个解决方案。 ..

标签: c# vsto ms-office add-in sharpdevelop


【解决方案1】:

NetOffice(http://netoffice.codeplex.comhttps://osdn.net/projects/netoffice/)是一组出色的 Office 版本独立互操作程序集。这就是使用 SharpDevelop 制作插件所需的全部内容,该项目也有大量教程和示例,包括一些用于 Outlook 的教程和示例。

如果您使用Excel-DNA 为 Excel 制作插件(您需要从 .NET 公开用户定义的工作表函数),NetOffice 仍然为您提供一组补充的库,用于访问 Excel COM 自动化接口来自您的 Excel-DNA 加载项,因此它们可以很好地协同工作。

对于 NetOffice 和 Excel-DNA,您还可以使用免费的 Visual Studio Express 版本(需要一些小技巧来进行调试)。 Visual Studio Express 根本不包括 VSTO。 SharpDevelop 还具有比 Express 版本更多的功能,例如内置重构和 VB.NET C# 翻译工具,因此有充分的理由选择 SharpDevelop 作为您的免费 IDE。

【讨论】:

  • NetOffice 看起来很棒。希望我在开始使用 Visual STudio 之前已经看到了这一点,但切换到 Sharp Develop 还为时不晚:D
  • NetOffice 只是您使用的 .NET 库的集合,而不是特殊的 VSTO 库或 Office 互操作程序集。您可以将它与 Visual Studio 或 SharpDevelop 完美结合使用。
【解决方案2】:

编辑:我错过了对 Outlook 的引用,我的道歉。

对于 Outlook,请查看 here。 Outlook 兑换很有用。

我不是单词专家,但是网上有很多教程。

对于 Excel,我建议您实际查看 ExcelDNA

关于这个主题的大量 SO 问题。例如,请参阅 Exposing .net methods as Excel functions? 作为关于从哪里开始以及您的选择是什么的额外建议。

【讨论】:

  • Outlook 或 Word 有什么相似之处吗?
  • @sprocketonline - 使用相同的基本原理即可。
猜你喜欢
  • 2010-09-05
  • 2010-12-16
  • 2018-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多