VSTO 外接程序编程入门

重要

VSTO 依赖于 .NET Framework。 COM 加载项也可以使用 .NET Framework 编写。 不能使用 .NET Core 和 .NET 5+(最新版本的 .NET)创建 Office 加载项。 这是因为 .NET Core/.NET 5+ 无法在同一进程中与 .NET Framework 协同工作,并可能导致加载项加载失败。 可以继续使用 .NET Framework 编写适用于 Office 的 VSTO 和 COM 加载项。 Microsoft 不会更新 VSTO 或 COM 加载项平台以使用 .NET Core 或 .NET 5+。 可以利用 .NET Core 和 .NET 5+(包括 ASP.NET Core)创建 Office Web 加载项的服务器端。

你可以使用 VSTO 外接程序来实现 Microsoft Office 应用程序自动化、扩展应用程序的功能,以及自定义应用程序的用户界面 (UI)。 有关如何将 VSTO 外接程序与使用 Visual Studio 创建的其他类型的办公室解决方案进行比较的信息,请参阅办公室解决方案开发概述(VSTO)。

适用于: 本主题中的信息适用于 VSTO 外接程序项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。

创建 VSTO 外接程序项目

使用“新建项目”对话框中的一个 VSTO 外接程序项目模板创建 VSTO 外接程序项目。 这些模板包括所需程序集引用和项目文件。 Visual Studio 为 Office 中的大多数应用程序提供 VSTO 外接程序项目模板。

有关如何创建 VSTO 外接程序项目的详细信息,请参阅如何:在 Visual Studio 中创建办公室项目。 有关项目模板的详细信息,请参阅办公室项目模板概述

开发 VSTO 外接程序项目

创建 VSTO 外接程序项目时,Visual Studio 会自动创建 ThisAddIn.vb (在 Visual Basic)或 ThisAddIn.cs (C#) 代码文件中。 此文件包含类 ThisAddIn ,该类为 VSTO 外接程序提供了基础。 在加载或卸载 VSTO 外接程序时,可以使用此类的成员运行代码,以访问主机应用程序的对象模型,以及扩展应用程序的功能。 有关详细信息,请参阅 Program VSTO Add-Ins

使用对象模型自动执行应用程序

Microsoft Office 应用程序的对象模型公开许多类型,可在 VSTO 外接程序中依据这些类型进行编程。 可以使用这些类型来实现应用程序自动化。 例如,可以通过编程方式在 Outlook 中创建和发送电子邮件,也可以在 Word 中打开文档和添加内容。 有关如何在代码中访问主机应用程序的对象模型的详细信息,请参阅 Program VSTO Add-Ins

有关特定 Microsoft Office 应用程序的对象模型的详细信息,请参阅以下主题:

自定义应用程序的用户界面

使用 VSTO 外接程序自定义主机应用程序的 UI 有多种不同方法:

  • 对于 Excel 和 Word,可以向文档中添加托管控件。 有关详细信息,请参阅 运行时在 VSTO 外接程序中扩展 Word 文档和 Excel 工作簿。

  • 如果应用程序支持功能区,则你可以自定义它。 有关详细信息,请参阅 功能区概述

  • 如果应用程序支持自定义任务窗格,则你可以创建它。 有关详细信息,请参阅 “自定义任务”窗格

  • 对于 Outlook,你可以创建自定义窗体区域。 有关详细信息,请参阅 创建 Outlook 窗体区域

  • 对于所有 Microsoft Office 应用程序,可以在 VSTO 外接程序中显示 Windows 窗体。

    有关如何自定义Microsoft 办公室应用程序的 UI 的详细信息,请参阅办公室 UI 自定义