Office 解决方案开发概述
更新:2007 年 11 月
通过将 Microsoft Office 2003 或 2007 Microsoft Office system 用作解决方案的前端,您可以利用熟悉的 Microsoft Office 用户界面和内置工具,例如拼写检查、修订和电子邮件支持。用户可以使 Microsoft Office 解决方案处于脱机状态,这会使复杂的解决方案比使用基于 Web 的体系结构的解决方案更实用。
有关如何使用 Microsoft Office 进行开发的常规信息,请参见托管代码与使用 Visual Studio 进行 Office 编程和 Microsoft Office Developer Center(Microsoft Office 开发中心)。
使用主互操作程序集使 Microsoft Office 应用程序自动化
通过编写访问应用程序对象模型的代码,您可以采用编程方式将 Microsoft Office 应用程序的功能合并到解决方案中。对象模型是对类的一种安排,它通过各种属性和方法公开类的功能。每个 Microsoft Office 应用程序的对象模型都不相同。
若要通过 Visual Studio Tools for Office 解决方案使用 Microsoft Office 应用程序的功能,您必须使用应用程序的主互操作程序集。主互操作程序集使托管代码可以与 Office 应用程序的基于 COM 的对象模型进行交互。
有关更多信息,请参见托管代码与使用 Visual Studio 进行 Office 编程和 Office 主互操作程序集。
选择 Office 项目类型
Visual Studio Tools for Office 提供以下项目模板类型:
文档级自定义项。
应用程序级外接程序。
SharePoint 工作流模板。
InfoPath 表单模板。
若要确定这些项目类型中哪个项目类型最适合您的解决方案,请考虑是想让代码只在打开特定文档时运行,还是想让代码在每次运行 Microsoft Office 应用程序时都可用。有关项目模板的更多信息,请参见 Visual Studio Tools for Office 项目模板概述。
可创建的项目类型取决于在开发计算机上已安装的 Microsoft Office 应用程序。有关更多信息,请参见按应用程序和项目类型提供的功能。
文档级自定义项
文档级自定义项由与单一文档关联的程序集、工作簿或 Microsoft Office Word 或 Microsoft Office Excel 中的模板组成。在打开关联的文档时加载程序集。您创建的自定义项中的功能仅在关联的文档打开时可用。自定义项不能进行应用程序范围的更改,例如打开任何文档时都显示一个新菜单项或功能区选项卡。
Visual Studio Tools for Office 包含用于帮助在 Visual Studio 中创建自定义项的工具。自定义的文档作为设计图面承载于 Visual Studio 中,这使您能够通过将控件拖放到设计图面上来设计文档。许多其他 Visual Studio 功能在文档级项目中可用,如 Windows 窗体控件、数据绑定和集成调试器。
有关自定义项的更多信息,请参见Excel 文档级自定义项编程入门、Word 文档级自定义项编程入门和文档级自定义项的体系结构。
应用程序级外接程序
应用程序级外接程序包含一个与某个 Microsoft Office 应用程序关联的程序集。通常,该外接程序在关联的应用程序启动时运行,当然,用户也可以在关联应用程序已在运行时加载外接程序。您创建的外接程序中的功能可用于应用程序本身,而与所打开的文档无关。
Visual Studio Tools for Office 包含用于帮助在 Visual Studio 中创建外接程序的工具。外接程序项目包含一个表示外接程序的自动生成的类。此类提供的属性和事件可用于访问宿主应用程序的对象模型以及在加载和关闭外接程序时运行代码。许多其他 Visual Studio 功能在应用程序级项目中可用,如 Windows 窗体和集成调试器。
有关外接程序的更多信息,请参见应用程序级外接程序编程入门和应用程序级外接程序的体系结构。
SharePoint 工作流模板
Visual Studio Tools for Office 提供了一些工具,可帮助您创建用于管理 SharePoint 网站中的文档和列表项生命周期的自定义工作流模板。Visual Studio Tools for Office 包含工作流设计器、一整套拖放活动控件,以及必要的程序集引用。您可以使用“新建 Office SharePoint 工作流”向导启动项目,与在 Visual Studio 中调试工作流模板相比,使用该向导可以大量减少必需的配置步骤。
有关 SharePoint 工作流模板的更多信息,请参见 SharePoint 工作流解决方案。
InfoPath 表单模板
Visual Studio Tools for Office 提供工具以帮助您创建 InfoPath 2007 的表单模板。InfoPath 表单模板设计环境完全集成到 Visual Studio 开发环境中。您可以使用 InfoPath 2007 的功能来设计 InfoPath 表单模板的外观,同时可以编写托管代码来扩展其功能,而无需离开 Visual Studio。在 Visual Studio 中使用 InfoPath 表单模板时,将根据与 InfoPath 2003 兼容的对象模型(Microsoft.Office.Interop.InfoPath.SemiTrust 命名空间的成员)或新的 InfoPath 2007 托管代码对象模型(Microsoft.Office.InfoPath 命名空间的成员)使用 Visual C# 或 Visual Basic 编写业务逻辑。
有关更多信息,请参见开发 InfoPath 托管代码表单模板。
部署和维护的设计
在设计 Office 解决方案时,请考虑部署要求可能对开发选择有何影响。
部署和维护
可以用多种不同方式部署 Visual Studio Tools for Office 解决方案。通过使用 ClickOnce,可以部署 2007 Microsoft Office system 的应用程序级外接程序和文档级自定义项。通过 ClickOnce 部署,可以创建自行更新的解决方案,这种解决方案在安装和运行时所需的用户交互最少。有关更多信息,请参见部署 Office 解决方案 (2007 System)。
可以通过以下方式部署 Microsoft Office 2003 的外接程序和自定义项:将程序集(如果适用于解决方案的类型,则包括文档)存储在容易维护的共享位置,或将程序集和文档的副本分发给每个用户以适应移动工作方式。有关更多信息,请参见部署 Office 解决方案 (2003 System)。
Visual Studio Tools for Office 不提供用于部署 SharePoint 工作流模板的工具。有关更多信息,请参见 SharePoint 工作流解决方案。
安全性
2007 Microsoft Office system 的应用程序级外接程序和文档级自定义项的安全性通过一系列检查来强制实现,这些检查是 Visual Studio Tools for Office 运行时在安装和加载解决方案时进行的。这些检查包括验证部署清单的位置是否受信任、用于对部署清单签名的证书是否受信任以及解决方案是否在包含列表中。有关更多信息,请参见 Office 解决方案中的安全性 (2007 System)。
Microsoft Office 2003 解决方案的安全性由 .NET Framework 中的安全功能强制实现。对于使用 Visual Studio Tools for Office 创建的程序集,其默认策略不允许任何程序集运行,这有助于保护用户免遭病毒和其他恶意代码的攻击。在最终用户可以使用解决方案之前,管理员必须向程序集显式授予完全信任。有关更多信息,请参见 Office 解决方案中的安全性 (2003 System)。