对办公室项目中对象的全局访问
创建 Office 项目时,Visual Studio 将在项目中自动生成一个名为 Globals
的类。 可以使用 Globals
类在运行时从项目中的任何代码访问多个不同的项目项。
适用于: 本主题中的信息适用于文档级项目和 VSTO 外接程序项目。 请参阅办公室应用程序和项目类型提供的功能。
如何使用 Globals 类
Globals
是一个静态类,该类将对某些项的引用保留在你的项目中。 通过使用 Globals
类,可在运行时从项目中的任何代码访问以下各项:
Excel 工作簿或模板项目中的
ThisWorkbook
和Sheet
n 类。 可以通过使用Globals.ThisWorkbook
和Sheet
n 属性访问这些对象。Word 文档或模板项目中的
ThisDocument
类。 可以通过使用Globals.ThisDocument
属性访问此对象。ThisAddIn
VSTO 外接程序项目中的类。 可以通过使用Globals.ThisAddIn
属性访问此对象。项目中通过使用功能区设计器自定义的所有功能区。 可以通过使用
Globals.Ribbons
属性访问功能区。 有关详细信息,请参阅 运行时访问功能区。Outlook VSTO 外接程序项目中的所有 Outlook 窗体区域。 可以通过使用
Globals.FormRegions
属性访问这些窗体区域。 有关详细信息,请参阅 运行时访问窗体区域。一个工厂对象,可用于在面向 .NET Framework 4 或 .NET Framework 4.5 的项目中在运行时创建功能区控件和托管项。 可以通过使用
Globals.Factory
属性访问此对象。 此对象是实现以下接口之一的类的实例:例如,当用户单击 Excel 的文档级项目中的操作窗格上的按钮时,你可以使用
Globals.Sheet1
属性将文本插入到 NamedRange 上的Sheet1
控件中。
在初始化文档或 VSTO 外接程序之前尝试使用该 Globals
类的代码可能会引发运行时异常。 例如,声明一个类级变量时使用 Globals
可能会失败,因为在对声明的对象进行实例化之前,可能不会使用对所有主机项的引用将 Globals
类初始化。
注意
永远不会在设计时初始化 Globals
类,控件实例由设计器创建。 这意味着,如果在用户控件类中创建使用类属性Globals
的用户控件,则必须在尝试使用返回的对象之前检查该属性是否返回 null。