Visual Studio 提供可用于创建 Microsoft Office Excel 的文档级自定义项和 VSTO 外接程序的项目模板。 你可以使用这些解决方案自动化 Excel、扩展 Excel 功能以及自定义 Excel 用户界面 (UI)。 有关文档级自定义项与 VSTO 外接程序之间的差异的详细信息,请参阅办公室解决方案开发概述(VSTO)。
适用于: 本主题中的信息适用于 Excel 的文档级项目和 VSTO 外接程序项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。
注意
有兴趣开发跨多个平台扩展办公室体验的解决方案? 查看新的办公室外接程序模型。 与 VSTO 外接程序和解决方案相比,办公室外接程序的占用空间较小,可以使用几乎任何 Web 编程技术(如 HTML5、JavaScript、CSS3 和 XML)生成它们。
本主题提供了下列信息:
为 Excel 开发文档级自定义项。
开发适用于 Excel 的 VSTO 外接程序。
自定义 Excel 的用户界面。
自动化 Excel
Excel 对象模型公开了许多能用于自动化 Excel 的模型。 例如,可以以编程方式创建图表、设置格工作表格式,以及设置范围和单元格的值。 有关详细信息,请参阅 Excel 对象模型概述。
当开发 Visual Studio 中的 Excel 解决方案时,还可以使用解决方案中的 主机项 和 主机控件 。 这些是可以扩展 Excel 对象模型中常用对象的对象,例如 Worksheet 和 Range 对象。 扩展的对象行为类似于其所基于的 Excel 对象,但它们可以将其他事件和数据绑定功能添加到对象。 有关详细信息,请参阅 使用扩展对象自动执行 Excel。
为 Excel 开发文档级自定义
Microsoft Office Excel 的文档级自定义项包含与特定工作簿相关联的程序集。 该程序集通常可通过自定义 UI 和自动化 Excel 扩展工作簿。 不同于与 Excel 自身相关联的 VSTO 外接程序,在自定义项中实现的功能仅当相关联的工作簿在 Excel 中打开时才可用。
若要为 Excel 创建文档级自定义项目,请在 Visual Studio 的“新建项目”对话框中使用 Excel 工作簿或 Excel 模板项目模板。 有关详细信息,请参阅“如何:在 Visual Studio 中创建办公室项目。
有关文档级自定义项的工作原理的详细信息,请参阅 文档级自定义项的体系结构。
Excel 自定义编程模型
当创建 Excel 的文档级项目时,Visual Studio 将生成可作为解决方案基础的几个类: ThisWorkbook
、 Sheet1
、 Sheet2
和 Sheet3
。 这些类表示与你的解决方案关联的工作簿和工作表,并为编写代码提供起点。
有关可在文档级项目中使用的这些生成的类和其他功能的详细信息,请参阅 Program 文档级自定义项。
开发适用于 Excel 的 VSTO 外接程序
Microsoft Office Excel 的 VSTO 外接程序包含由 Excel 加载的程序集。 该程序集通常可通过自定义 UI 和自动化 Excel 扩展 Excel。 与与特定工作簿关联的文档级自定义不同,在 VSTO 外接程序中实现的功能不限于任何单个工作簿。
若要为 Excel 创建 VSTO 外接程序项目,请使用 Visual Studio 的“新建项目”对话框中的 Excel 工作簿或 Excel 模板项目模板。 有关详细信息,请参阅“如何:在 Visual Studio 中创建办公室项目。
有关 VSTO 外接程序工作原理的常规信息,请参阅 Architecture of VSTO Add-ins。
Excel 外接程序编程模型
创建 Excel VSTO 外接程序项目时,Visual Studio 将生成一个名为 ThisAddIn
的类,这是你的解决方案的基础。 此类提供了编写代码的起点,并且还将 Excel 的对象模型公开到 VSTO 外接程序。
有关可在 VSTO 外接程序中使用的类和其他 Visual Studio 功能的详细信息 ThisAddIn
,请参阅 Program VSTO Add-Ins。
自定义 Excel 的用户界面
有几种自定义 Excel 的用户界面的方法。 某些选项适用于所有项目类型,而其他选项仅适用于 VSTO 外接程序或文档级自定义项。
所有项目类型的选项
下表列出了可用于文档级自定义项和 VSTO 外接程序的自定义选项。
Task | 详细信息 |
---|---|
自定义功能区。 | 功能区概述 |
将 Windows 窗体控件或扩展的 Excel 控件添加到文档级自定义项的自定义工作簿中的工作表,或添加到 VSTO 外接程序的任何打开的工作簿中。 | 如何:将 Windows 窗体控件添加到办公室文档 如何:向工作表添加图表控件 如何:向工作表添加 ListObject 控件 如何:向工作表添加 NamedRange 控件 |
文档级自定义选项
下表列出了仅适用于文档级自定义项的自定义选项。
任务 | 详细信息 |
---|---|
将操作窗格添加到工作簿。 | 操作窗格概述 如何:向 Word 文档或 Excel 工作簿添加操作窗格 |
将映射到 XML 节点的扩展范围控件添加到工作表。 | 如何:将 XMLMappedRange 控件添加到工作表 |
适用于 VSTO 外接程序的选项
下表列出了仅适用于 VSTO 外接程序的自定义选项。
Task | 更多信息 |
---|---|
创建自定义任务窗格。 | 自定义任务窗格 |
相关主题
Title | 说明 |
---|---|
Excel 对象模型概述 | 概述由 Excel 对象模型提供的主类型。 |
使用扩展对象自动执行 Excel | 提供有关可在 Excel 解决方案中使用的扩展对象(由 Visual Studio Tools for 办公室 运行时提供)的信息。 |
Excel 解决方案的全球化和本地化 | 包含有关 Excel 解决方案的特殊注意事项的信息,Excel 解决方案将在具有适用于 Windows 的非英语设置的计算机上运行。 |
有关办公室文档的Windows 窗体控件概述 | 介绍如何将 Windows 窗体控件添加到 Excel 工作表。 |
演练:为 Excel 创建第一个文档级自定义 | 演示如何创建 Excel 的基本文档级自定义项。 |
演练:为 Excel 创建第一个 VSTO 外接程序 | 演示如何为 Excel 创建基本 VSTO 外接程序。 |
演练:在 VSTO 外接程序项目中的运行时向工作表添加控件 | 演示如何使用 VSTO 外接程序在运行时向工作表添加 Windows 窗体按钮、 NamedRange和 ListObject 。 |
了解共同创作和外接程序 | 介绍可能需要对解决方案进行调整以适应共同创作。 |
办公室开发中的 Excel 2010 | 提供有关开发 Excel 解决方案的文章和参考文档的链接。 这些链接并不特定于使用 Visual Studio 的 Office 开发。 |