模块扩展 Outlook 加载项

模块扩展加载项与邮件、任务和日历一起显示在 Outlook 导航栏中。 模块扩展不限于使用邮件和约会信息。 可以创建在 Outlook 中运行的应用程序,以便用户无需退出 Outlook 即可轻松地访问业务信息和工作效率工具。

提示

创建 在 Outlook 中打开的个人选项卡应用 ,而不是模块扩展,以提供更现代、更便捷的解决方案。 借助个人选项卡应用,用户不仅可以在 Outlook 中访问业务关键数据和生产力工具,还可以访问 Microsoft 365 应用程序(包括Microsoft Teams 和各种平台)。

支持的客户端和清单

若要创建和运行模块扩展加载项,必须:

  • 使用仅加载项清单开发外接程序。 Microsoft 365 的统一清单不支持模块扩展。
  • 在 Windows Outlook 2016 或更高版本中运行加载项。

打开模块扩展

若要打开模块扩展,请导航到 Outlook 导航栏,选择“ 更多应用”,然后选择模块扩展加载项。

“更多应用”浮出控件中的可用模块和模块扩展加载项。

提示

在旧版经典 Outlook on Windows 中,导航栏显示在窗口底部。 对模块扩展的访问权限因导航栏的布局和可用模块扩展的数量而异。

  • 如果用户选择了紧凑型导航,导航栏有一个显示已加载扩展的图标。

    显示在精简导航栏中的模块和加载项的图标。

  • 如果用户未使用精简导航,导航栏将显示加载项的名称。

    扩展的导航栏中显示的模块和加载项的名称。

  • 如果加载了多个加载项 ,则加载项 选项将显示在导航栏中。 选择“ 加载项”,然后选择要使用的加载项。

    如果加载了多个加载项,则导航栏中显示的加载项选项。

配置模块扩展

选择模块扩展加载项时,Outlook 会将内置模块替换为自定义模块,以便您可以与外接程序交互。 可以在外接程序中使用 Outlook JavaScript API 的某些功能。 逻辑上假定特定 Outlook 项(如邮件或约会)的 API 在模块扩展中不起作用。 该模块还可以在 Outlook 功能区中包含与加载项页面交互的函数命令。 为此,函数命令必须调用 Office.onReady 或 Office.initialize 方法和Event.completed 方法。

若要测试和了解如何配置模块扩展,请参阅 Office 外接程序模块扩展示例

示例模块扩展的用户界面。

示例

下面是定义模块扩展的清单文件部分。


<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides"
                  xsi:type="VersionOverridesV1_0">
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1"
                    xsi:type="VersionOverridesV1_1">
    <Requirements>
      <bt:Sets DefaultMinVersion="1.3">
        <bt:Set Name="Mailbox"/>
      </bt:Sets>
    </Requirements>
    <Hosts>
      <Host xsi:type="MailHost">
        <DesktopFormFactor>
          <!-- Sets the URL of the JavaScript file that contains the code to
               run the operations of a module extension add-in. -->
          <FunctionFile resid="residFunctionFileUrl"/>
          <!--Configures the add-in as a module extension. -->
          <ExtensionPoint xsi:type="Module">
            <SourceLocation resid="residExtensionPointUrl"/>
            <Label resid="residExtensionPointLabel"/>
            <CommandSurface>
              <CustomTab id="idTab">
                <Group id="idGroup">
                  <Label resid="residGroupLabel"/>
                  <!-- Adds the module extension to the Outlook navigation bar. -->
                  <Control xsi:type="Button" id="group.changeToAssociate">
                    <Label resid="residChangeToAssociateLabel"/>
                    <Supertip>
                      <Title resid="residChangeToAssociateLabel"/>
                      <Description resid="residChangeToAssociateDesc"/>
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="residAssociateIcon16"/>
                      <bt:Image size="32" resid="residAssociateIcon32"/>
                      <bt:Image size="80" resid="residAssociateIcon80"/>
                    </Icon>
                    <Action xsi:type="ExecuteFunction">
                      <FunctionName>changeToAssociateRate</FunctionName>
                    </Action>
                  </Control>
                </Group>
                <Label resid="residCustomTabLabel"/>
              </CustomTab>
            </CommandSurface>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
        <bt:Image id="residAssociateIcon16"
                  DefaultValue="https://localhost:3000/assets/associate-16.png"/>
        <bt:Image id="residAssociateIcon32"
                  DefaultValue="https://localhost:3000/assets/associate-32.png"/>
        <bt:Image id="residAssociateIcon80"
                  DefaultValue="https://localhost:3000/assets/associate-80.png"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="residFunctionFileUrl"
                DefaultValue="https://localhost:3000/module.html"/>
        <bt:Url id="residExtensionPointUrl"
                DefaultValue="https://localhost:3000/module.html"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="residExtensionPointLabel"
                    DefaultValue="Billable Hours"/>
        <bt:String id="residGroupLabel"
                    DefaultValue="Change billing rate"/>
        <bt:String id="residCustomTabLabel"
                    DefaultValue="Billable hours"/>
        <bt:String id="residChangeToAssociateLabel"
                    DefaultValue="Associate Rate"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="residChangeToAssociateDesc"
                    DefaultValue="Change to the associate billing rate: $127/hr"/>
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</VersionOverrides>

另请参阅