本介绍性演练演示如何为 Microsoft Office Excel 创建文档级自定义。 只有在打开特定工作簿时,您在此类解决方案中创建的功能才可用。 不能使用文档级自定义来对整个应用程序进行更改,例如,在打开任何工作簿时显示新的功能区选项卡。
适用于: 本主题中的信息适用于 Excel 的文档级项目。 有关详细信息,请参阅 Office 应用程序和项目类型提供的功能。
本演练阐释了以下任务:
创建 Excel 工作簿项目。
将文本添加到托管在 Visual Studio 设计器中的工作表。
编写代码,该代码使用 Excel 的对象模型在打开时向自定义工作表添加文本。
生成并运行项目以对其进行测试。
清理已完成的项目,从开发计算机中删除不必要的生成文件和安全设置。
注释
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅 个性化设置 IDE。
先决条件
你需要满足以下条件才能完成本演练:
包含 Microsoft Office 开发人员工具的 Visual Studio 版本。 有关详细信息,请参阅 配置计算机以开发 Office 解决方案。
Excel 2013 或 Excel 2010 。
创建项目
在 Visual Studio 中创建新的 Excel 工作簿项目
启动 Visual Studio。
在“ 文件 ”菜单上,指向“ 新建”,然后单击“ 项目”。
在“ 创建新项目 ”对话框中,选择 Excel VSTO 工作簿 项目。
注释
还可以通过在“ 创建新项目 ”对话框顶部的“搜索”文本框中键入 Office 产品的名称来搜索模板。 例如,键入 Excel 将显示 Excel 的所有项目模板。 还可以通过选择“项目类型”下拉列表中的 Office 来筛选模板列表,以便仅显示 Office 的模板。 有关详细信息,请参阅 在 Visual Studio 中创建新项目。
单击 “下一步” 。
在“配置新项目”对话框的“名称”框中键入 FirstWorkbookCustomization,然后单击“创建”。
从 Visual Studio Tools for Office 项目向导中选择“创建新文档”,然后单击“确定”。
Visual Studio 将创建 FirstWorkbookCustomization 项目,并将以下文件添加到项目中。
FirstWorkbookCustomization.xlsx - 表示项目中的 Excel 工作簿。 包含所有工作表和图表。
Sheet1 (Visual Basic 的.vb文件或 Visual C# .cs 文件) - 一个工作表,提供工作簿中第一个工作表的设计图面和代码。 有关详细信息,请参阅 工作表宿主项。
Sheet2 (Visual Basic 的 .vb 文件或 Visual C# .cs 文件) - 一个工作表,提供工作簿中第二个工作表的设计图面和代码。
Sheet3(.vb 文件用于 Visual Basic 或 .cs 文件用于 Visual C#)- 提供设计界面和代码的工作表,是工作簿中用于第三个工作表的工作界面。
ThisWorkbook(.vb 文件用于 Visual Basic 或 .cs 文件用于 Visual C#)- 包含工作簿级自定义的设计界面和代码。 有关详细信息,请参阅 工作簿托管项。
Sheet1 代码文件在设计器中自动打开。
在设计器中关闭和重新打开工作表
如果在开发项目时故意或意外关闭设计器中的工作簿或工作表,可以重新打开它。
在设计器中关闭和重新打开工作表
通过单击设计器窗口的 “关闭 ”按钮(X)关闭工作簿。
在 解决方案资源管理器中,右键单击 Sheet1 代码文件,然后单击 “视图设计器”。
- 或 -
在 解决方案资源管理器中,双击 Sheet1 代码文件。
向设计器中的工作表添加文本
可以通过修改设计器中打开的工作表来设计自定义项的用户界面(UI)。 例如,可以将文本添加到单元格、应用公式或添加 Excel 控件。 有关如何使用设计器的详细信息,请参阅 Visual Studio 环境中的 Office 项目。
使用设计器向工作表添加文本
在设计器中打开的工作表中,选择单元格 A1,然后键入以下文本。
此文本是使用设计器添加的。
警告
如果将此文本行添加到单元格 A2,此示例中的其他代码将覆盖该行。
以编程方式向工作表添加文本
接下来,将代码添加到 Sheet1 代码文件。 新代码使用 Excel 的对象模型向工作簿添加第二行文本。 默认情况下,Sheet1 代码文件包含以下生成的代码:
类的部分
Sheet1定义,表示工作表的编程模型,并提供对 Excel 对象模型的访问权限。 有关详细信息,工作表宿主项 和 Word 对象模型概述。 该Sheet1类的其余部分在不应修改的隐藏代码文件中定义。Sheet1_Startup和Sheet1_Shutdown事件处理程序。 当 Excel 加载和卸载自定义项时,将调用这些事件处理程序。 使用这些事件处理程序在加载自定义项时初始化自定义项,并在卸载自定义项时清理自定义项使用的资源。 有关详细信息,请参阅 Office 项目中的事件。
使用代码向工作表添加第二行文本
在 解决方案资源管理器中,右键单击 Sheet1,然后单击“ 查看代码”。
代码文件将在 Visual Studio 中打开。
将
Sheet1_Startup事件处理程序替换为以下代码。 当 Sheet1 打开时,此代码会将第二行文本添加到工作表中。
测试项目
测试工作簿
按 F5 生成并运行项目。
生成项目时,代码将编译为与工作簿关联的程序集。 Visual Studio 会将工作簿和程序集的副本放入项目的生成输出文件夹,并在开发计算机上配置安全设置以确保自定义项能够运行。 有关详细信息,请参阅 生成 Office 解决方案。
在工作簿中,验证是否看到以下文本。
此文本是使用设计器添加的。
此文本是使用代码添加的。
关闭此工作簿。
清理项目
完成项目开发后,应删除生成输出文件夹中的文件以及生成过程创建的安全设置。
清理开发计算机上的已完成项目
- 在 Visual Studio 的 “生成 ”菜单上,单击“ 清理解决方案”。
 
后续步骤
现在,你已为 Excel 创建了一个基本的文档级自定义项,接下来可以详细了解如何从以下主题开发自定义项:
可以在文档级自定义中进行的常规编程任务:文档级自定义编程。
特定于 Excel 文档级自定义项的编程任务: Excel 解决方案。
使用 Excel 的对象模型: Excel 对象模型概述。
例如,通过将自定义选项卡添加到功能区或创建自己的操作窗格来定制 Excel 的 UI:Office UI 自定义。
使用 Visual Studio 中 Office 开发工具提供的扩展 Excel 对象来执行无法使用 Excel 对象模型执行的任务(例如,在文档上托管托管控件并使用 Windows 窗体数据绑定模型将数据绑定到数据): 使用扩展对象自动执行 Excel。
生成和调试 Excel 的文档级自定义: 生成 Office 解决方案。
为 Excel 部署文档级自定义项: 部署 Office 解决方案。