自定义 Outlook 功能区
自定义 Microsoft Office Outlook 中的功能区时,必须考虑您的自定义功能区将在该应用程序中显示的位置。 Outlook 2010 在主应用程序用户界面 (UI) 中和用户执行特定任务(例如创建电子邮件)时打开的窗口中显示功能区。 这些应用程序窗口称为“检查器”。 Outlook 2007 仅在检查器中显示功能区。
有关相关的视频演示,请参见 How Do I: Use the Ribbon Designer to Customize the Ribbon in Outlook?(如何实现:在 Outlook 中使用功能区设计器自定义功能区?)。
**适用于:**本主题中的信息适用于 Outlook 2007 和 Outlook 2010 的应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能。
向主应用程序 UI 中添加自定义功能区
Outlook 中的主应用程序 UI 称为资源管理器。 如果使用的是**“功能区(可视化设计器)”项,则可以向资源管理器中添加功能区,方法是:在“属性”窗口中单击功能区的“RibbonType”属性,然后选择“Microsoft.Outlook.Explorer”**。
将功能区分配给检查器
通过指定与检查器的邮件类相对应的功能区类型,可以标识要自定义的检查器。
如果使用的是**“功能区(可视化设计器)”项,则在“属性”窗口中单击功能区的“RibbonType”**属性,然后从值列表中选择一个或多个功能区 ID。
可以在一个项目中添加多个功能区。 如果多个功能区共享一个功能区 ID,可重写项目的 ThisAddin 类的 CreateRibbonExtensibilityObject 方法,以指定在运行时显示哪个功能区。 有关更多信息,请参见功能区概述。 有关每个功能区类型的更多信息,请参见技术文章自定义 Outlook 2007 中的功能区。
使用功能区 XML 指定功能区类型
如果使用的是**“功能区(XML)”**项,可检查 GetCustomUI(String) 方法中的 ribbonID 参数的值,并返回相应的功能区。
GetCustomUI(String) 方法由 Visual Studio 在功能区代码文件中自动生成。 ribbonID 参数是一个字符串,它标识资源管理器或特定类型的检查器。 有关 ribbonID 参数的可能值的完整列表,请参见技术文章自定义 Outlook 2007 中的功能区。
下面的代码示例演示如何只在 Microsoft.Outlook.Mail.Compose 检查器中显示自定义功能区。 这是当用户创建新电子邮件时打开的检查器。 要显示的功能区在 GetResourceText() 方法中指定,该方法在功能区类中生成。 有关功能区类的更多信息,请参见功能区 XML。
Public Function GetCustomUI(ByVal ribbonID As String) As String _
Implements Office.IRibbonExtensibility.GetCustomUI
Dim ribbonXML As String = String.Empty
If ribbonID = "Microsoft.Outlook.Mail.Compose" Then
ribbonXML = GetResourceText("Trin_RibbonOutlookBasic.Ribbon1.xml")
End If
Return ribbonXML
End Function
public string GetCustomUI(string ribbonID)
{
string ribbonXML = String.Empty;
if (ribbonID == "Microsoft.Outlook.Mail.Compose")
{
ribbonXML = GetResourceText("Trin_RibbonOutlookBasic.Ribbon1.xml");
}
return ribbonXML;
}