模块扩展 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>