工作簿宿主项

Workbook 宿主项这种类型从 Excel 的主互操作程序集扩展 Workbook 类型。 Workbook 宿主项提供与 Workbook 对象完全相同的属性、方法和事件,但它还提供其他功能。

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

在文档级项目中,有一个表示项目中的工作簿的默认 Workbook 宿主项。 在 VSTO 外接程序项目中,可以在运行时生成 Workbook 主机项。

了解文档级项目中的工作簿宿主项

若要访问项目中的工作簿,请使用 ThisWorkbook 类。 通过使用 ThisWorkbook 类,可以访问 Workbook 宿主项的成员,以执行自定义项中的基本任务,例如在打开或关闭工作簿时运行代码。 有关详细信息,请参阅 程序文档级自定义

ThisWorkbook 类提供了一个位置,你可以在该位置开始编写项目中的代码。 因为该类提供与 Excel 主互操作程序集中的 Workbook 对象完全相同的属性、方法和事件,所以也可以使用 ThisWorkbook 访问 Excel 的对象模型。 有关详细信息,请参阅 Excel 对象模型概述

在“解决方案资源管理器” 中双击“ThisWorkbook” 项目项以显示工作簿设计器,并在“属性” 窗口中查看工作簿的属性和事件。

文档级项目中工作簿宿主项的限制

文档级项目只能包含一个 Workbook 宿主项(即 ThisWorkbook 类)。 不能在设计时将新的 Workbook 宿主项添加到项目,也不能在运行时从文档级自定义项创建新的 Workbook 宿主项。

如果在运行时创建新的 Excel 工作簿,则该工作簿为类型 Workbook。 因为它不是宿主项,所以它不能包含任何宿主控件或 Windows 窗体控件。 有关在运行时创建工作簿的详细信息,请参阅 如何:以编程方式创建新工作簿

Workbook 宿主项不充当宿主控件的容器。 因此,不能将任何可见控件添加到工作簿,但可以添加 DataSet等组件,以便这些组件可由所有工作表共享。 在文档级项目中,可用于工作簿的组件可在“工具箱” 的“组件” 选项卡、“数据” 选项卡和“所有 Windows 窗体” 选项卡中找到。

注意

Visual Studio 中的 Office 开发工具不支持共享工作簿。

了解 VSTO 外接程序项目中的工作簿宿主项

在 VSTO 外接程序项目中,可以在运行时为 Excel 中打开的任何工作簿生成 Workbook 宿主项。 若要生成 Workbook 宿主项,请使用 GetVstoObject 方法。 有关详细信息,请参阅 运行时在 VSTO 外接程序中扩展 Word 文档和 Excel 工作簿。