在运行时访问功能区
可以编写代码来显示、隐藏和修改功能区,并使用户能从自定义任务窗格、操作窗格或 Outlook 窗体区域中的控件运行代码。
可以使用 Globals 类访问功能区。 对于 Outlook 项目,可以访问特定 Outlook 检查器或 Outlook 资源管理器窗口中显示的功能区。
**适用于:**本主题中的信息适用于以下应用程序的文档级项目和应用程序级项目:Excel 2007 和 Excel 2010;InfoPath 2010;Outlook 2007 和 Outlook 2010;PowerPoint 2007 和 PowerPoint 2010;Project 2010;Visio 2010;Word 2007 和 Word 2010。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能。
使用 Globals 类访问功能区
使用 Globals 类可以从文档级项目或应用程序级项目中的任何位置访问该项目中的功能区。
有关 Globals 类的更多信息,请参见 对 Office 项目中对象的全局访问。
下面的示例使用 Globals 类访问名为 Ribbon1 的自定义功能区,并将出现在该功能区中某个组合框内的文本设置为 Hello World。
Private Sub Access_All_Ribbons_Globals()
Globals.Ribbons.Ribbon1.comboBox1.Text = "Hello World"
End Sub
private void Access_All_Ribbons_Globals()
{
Globals.Ribbons.Ribbon1.comboBox1.Text = "Hello World";
}
访问特定 Outlook 检查器窗口中显示的功能区集合
可以访问出现在 Outlook 检查器中的功能区集合。 检查器是在用户执行特定任务(如创建电子邮件)时在 Outlook 中打开的窗口。 若要访问检查器窗口的功能区,请调用 Globals 类的 Ribbons 属性,并传入表示该检查器的 Inspector 对象。
下面的示例获取当前获得焦点的检查器的功能区集合。 此示例然后访问名为 Ribbon1 的功能区,并将出现在该功能区中某个组合框内的文本设置为 Hello World。
Private Sub Access_Ribbons_By_Inspector()
Dim ribbonCollection As ThisRibbonCollection = Globals.Ribbons _
(Globals.ThisAddIn.Application.ActiveInspector())
ribbonCollection.Ribbon1.ComboBox1.Text = "Hello World"
End Sub
private void Access_Ribbons_By_Inspector()
{
ThisRibbonCollection ribbonCollection =
Globals.Ribbons
[Globals.ThisAddIn.Application.ActiveInspector()];
ribbonCollection.Ribbon1.comboBox1.Text = "Hello World";
}
访问特定 Outlook 资源管理器中显示的功能区集合
可以访问 Outlook 资源管理器中显示的功能区集合。 资源管理器是 Outlook 实例的主应用程序用户界面 (UI)。 若要访问资源管理器窗口的功能区,请调用 Globals 类的 Ribbons 属性,并传入表示该资源管理器的 Explorer 对象。
下面的示例获取当前具有焦点的资源管理器的功能区集合。 此示例然后访问名为 Ribbon1 的功能区,并将出现在该功能区中某个组合框内的文本设置为 Hello World。
Private Sub Access_Ribbons_By_Explorer()
Dim ribbonCollection As ThisRibbonCollection = Globals.Ribbons _
(Globals.ThisAddIn.Application.ActiveExplorer())
ribbonCollection.Ribbon1.ComboBox1.Text = "Hello World"
End Sub
private void Access_Ribbons_By_Explorer()
{
ThisRibbonCollection ribbonCollection =
Globals.Ribbons
[Globals.ThisAddIn.Application.ActiveExplorer()];
ribbonCollection.Ribbon1.comboBox1.Text = "Hello World";
}