自定义 Outlook 功能区

在 Microsoft Office Outlook 中自定义功能区时,必须考虑自定义功能区在应用程序中出现的位置。 在主应用程序用户界面 (UI) 和用户执行某些任务(例如创建电子邮件消息)时打开的窗口中,Outlook 会显示功能区。 这些应用程序窗口被命名为检查器。

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

向主应用程序 UI 添加自定义功能区

主应用程序 UI 在 Outlook 中被称为资源管理器。 如果使用功能区(可视化设计器)项,可以通过单击“属性”窗口中功能区的 RibbonType 属性,然后选择 Microsoft.Outlook.Explorer,将功能区添加到资源管理器

向检查器分配功能区

通过指定与该检查器 message 类相对应的功能区类型来确定要进行自定义的检查器。

如果使用功能区(可视化设计器)项,请单击“属性”窗口中功能区的 RibbonType 属性,然后从值列表中选择一个或多个功能区 ID。

可以向项目添加多个功能区。 如果多个功能区共享一个功能区 ID,请重写项目的 ThisAddin 类中的 CreateRibbonExtensibilityObject 方法,以指定要在运行时显示的功能区。 有关详细信息,请参阅 功能区概述。 有关每个功能区类型的详细信息,请参阅 Outlook 2007 中自定义功能区的技术文章

使用功能区 XML 指定功能区类型

如果使用功能区(XML)项,检查方法中 GetCustomUI ribbonID 参数的值并返回相应的功能区。

GetCustomUI 方法由 Visual Studio 在功能区代码文件中自动生成。 ribbonID 参数是一个字符串,用于标识资源管理器或特定类型的检查器。 有关 ribbonID 参数可能值的完整列表,请参阅 Outlook 2007 中自定义功能区的技术文章

以下代码示例演示如何仅在 Microsoft.Outlook.Mail.Compose 检查器中显示自定义功能区。 这是用户创建新的电子邮件时将打开的检查器。 要显示的功能区是在GetResourceText()功能区类中生成的方法中指定的。 有关功能区类的详细信息,请参阅 Ribbon XML

public string GetCustomUI(string ribbonID)
{
    string ribbonXML = String.Empty;

    if (ribbonID == "Microsoft.Outlook.Mail.Compose")
    {
        ribbonXML = GetResourceText("Trin_RibbonOutlookBasic.Ribbon1.xml");
    }

    return ribbonXML;
}