Excel 解决方案

Visual Studio 2010 提供了一些项目模板,使用这些模板可以创建 Microsoft Office Excel 的文档级自定义项和应用程序级外接程序。 使用这些解决方案可以实现 Excel 自动化、扩展 Excel 功能以及自定义 Excel 用户界面 (UI)。 有关文档级自定义项和应用程序级外接程序之间区别的更多信息,请参见 Office 解决方案开发概述

**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

本主题提供以下信息:

  • Excel 自动化。

  • 为 Excel 开发文档级自定义项。

  • 为 Excel 开发应用程序级外接程序。

  • 自定义 Excel 的用户界面。

Excel 自动化

Excel 对象模型公开了许多可用于实现 Excel 自动化的类型。 例如,您可以通过编程方式创建图表、设置工作表格式以及设置范围和单元格的值。 有关更多信息,请参见 Excel 对象模型概述

在 Visual Studio 2010 中开发 Excel 解决方案时,也可以在您的解决方案中使用宿主项和宿主控件。 这些对象可扩展 Excel 对象模型中的某些常用对象,如 Microsoft.Office.Interop.Excel.WorksheetMicrosoft.Office.Interop.Excel.Range 对象。 扩展对象的行为类似于它们所基于的 Excel 对象,但它们会为这些对象添加其他事件和数据绑定功能。 有关更多信息,请参见使用扩展对象实现 Excel 自动化

为 Excel 开发文档级自定义项

Microsoft Office Excel 的文档级自定义项由与特定工作簿关联的一个程序集组成。 该程序集通常通过自定义用户界面 (UI) 和实现 Excel 自动化来扩展工作簿。 与应用程序级外接程序不同的是,应用程序级外接程序与 Excel 本身关联,而在自定义项中实现的功能仅在关联的工作簿在 Excel 中打开时才可用。

若要为 Excel 创建文档级自定义项项目,请使用 Visual Studio 的**“新建项目”**对话框中的“Excel 工作簿”或“Excel 模板”项目模板。 有关更多信息,请参见如何:在 Visual Studio 中创建 Office 项目

有关文档级自定义项如何工作的更多信息,请参见文档级自定义项的体系结构

Excel 自定义项编程模型

为 Excel 创建文档级项目时,Visual Studio 将生成多个作为解决方案基础的类:ThisWorkbook、Sheet1、Sheet2 和 Sheet3。 这些类表示与解决方案相关联的工作簿和工作表,并为您编写代码提供了一个起点。

有关这些生成的类和可以在文档级项目中使用的其他功能的更多信息,请参见对文档级自定义项进行编程

为 Excel 开发应用程序级外接程序

Microsoft Office Excel 的应用程序级外接程序包含一个由 Excel 加载的程序集。 该程序集通常通过自定义用户界面 (UI) 和实现 Excel 自动化来扩展 Excel。 与特定工作簿的关联文档级自定义项不同,在外接程序中实现的功能并不局限于单个工作簿。

若要为 Excel 创建应用程序级外接程序项目,请使用 Visual Studio 的**“新建项目”**对话框中的“Excel 工作簿”或“Excel 模板”项目模板。 有关更多信息,请参见如何:在 Visual Studio 中创建 Office 项目

有关应用程序级外接程序如何工作的一般信息,请参见应用程序级外接程序的体系结构

链接到视频 有关相关的视频演示,请参见 How Do I: Automate PowerPoint from an Excel Add-in?(如何实现:从 Excel 外接程序实现 PowerPoint 自动化?)。

Excel 外接程序编程模型

当您创建 Excel 外接程序项目时,Visual Studio 将生成一个名为 ThisAddIn 的类,该类是您的解决方案的基础。 此类提供了编写代码的起点,并且它还向外接程序公开 Excel 的对象模型。

有关 ThisAddIn 类以及可以在外接程序中使用的其他 Visual Studio 功能的更多信息,请参见应用程序级外接程序编程

自定义 Excel 的用户界面

可以通过多种不同的方式自定义 Excel 的用户界面。 有些选项可用于所有项目类型,而有些选项仅可用于应用程序级外接程序或文档级自定义项。

适用于所有项目类型的选项

下表列出了可用于文档级自定义项和应用程序级外接程序的自定义选项。

任务

更多信息

自定义功能区。

功能区概述

向自定义工作簿(对于文档级自定义项)或任何打开的工作簿(对于应用程序级外接程序)添加智能标记。

如何:向 Excel 工作簿添加智能标记

向自定义工作簿(对于文档级自定义项)或任何打开的工作簿(对于应用程序级外接程序)中的工作表添加 Windows 窗体控件或扩展 Excel 控件。

如何:为 Office 文档添加 Windows 窗体控件

如何:向工作表添加 Chart 控件

如何:向工作表添加 ListObject 控件

如何:向工作表添加 NamedRange 控件

适用于文档级自定义项的选项

下表列出了仅可用于文档级自定义项的自定义选项。

任务

更多信息

向工作簿添加操作窗格。

操作窗格概述

如何:向 Excel 工作簿添加操作窗格

向工作表添加映射到 XML 节点的扩展范围控件。

如何:向工作表添加 XMLMappedRange 控件

适用于应用程序级外接程序的选项

下表列出了仅可用于应用程序级外接程序的自定义选项。

任务

更多信息

创建自定义任务窗格。

自定义任务窗格概述

相关主题

标题

说明

Excel 对象模型概述

提供对 Excel 对象模型所提供的主要类型的概述。

使用扩展对象实现 Excel 自动化

提供有关可在 Excel 解决方案中使用的扩展对象(由 Visual Studio Tools for Office Runtime提供)的信息。

Excel 解决方案的全球化和本地化

包含有关特殊注意事项的信息,这些注意事项针对将在具有 Windows 非英语设置的计算机上运行的 Excel 解决方案。

在 Excel 工作表中使用 Windows 窗体控件

描述如何向 Excel 工作表添加 Windows 窗体控件。

演练:创建您的第一个 Excel 文档级自定义项

演示如何创建 Excel 的基本文档级自定义项。

演练:创建您的第一个 Excel 应用程序级外接程序

演示如何创建 Excel 的基本应用程序级外接程序。

演练:在运行时在应用程序级项目中向工作表中添加控件

演示如何在运行时使用应用程序级外接程序向工作表添加 Windows 窗体按钮、NamedRangeListObject

Office 开发中的 Excel 2010

提供指向有关开发 Excel 解决方案的文章和参考文档(不限于使用 Visual Studio 进行 Office 开发)的链接。