Excel 插件 COM 插件 VS VSTO 插件

Excel Addin COM Addin VS VSTO Addin

我在互联网上搜索了很多小时,但没有找到满意的结果 - VSTO 插件和 COM 插件(我们将其作为 Class 库项目并使用 excel 对象)之间有什么区别? VSTO 项目是否有任何限制,例如它仅适用于 excel.

的特定版本

COM 加载项使用 IDTExtensibility2 interface 与 Office 应用程序通信。

VSTO(以及任何其他 Office 加载项库,例如 Add-in Express)基于并扩展 此接口。例如,VSTO

  • 为连接界面做了很多后台工作。
  • 提供文档级自定义(链接到特定文档或模板的代码),而不仅仅是应用程序级加载项。
  • 扩展了 Word 或 Excel 对象模型的某些部分,使 .NET 开发人员更容易使用它们。
  • 使开发人员能够将 WinForms 控件放置在 Excel 或 Word 文档表面上,或者通过以与 Office 技术兼容的方式将它们包装在自定义任务窗格中来托管它们
  • 提供 "plumbing" 用于数据绑定到某些本机 Office 对象
  • 为 "simple" 功能区自定义提供功能区设计器作为功能区 XML 的替代方案。

VSTO 适用于 Office 2007 及更高版本(IDTExtensibility2 是为 Office 2000 引入的,如果我没记错的话)。对于计划支持的最早版本的 Office,你必须使用正确的 .NET Framework 和 VSTO 模板。为早期版本创建的加载项无需重新构建即可在更高版本的 Office 中使用。

基于界面的任何加载项仅限于 Windows 桌面。