生成首个 Outlook 加载项

本文将逐步介绍如何生成显示选定邮件的至少一个属性的 Outlook 任务窗格加载项。

创建加载项

可以使用适用于 Office 加载项的 Yeoman 生成器或 Visual Studio 创建 Office 加载项。 Yeoman 生成器将创建一个可通过 Visual Studio Code 或任何其他编辑器管理的 Node.js 项目,而 Visual Studio 将创建一个 Visual Studio 解决方案。 选择适合于想要使用的方法的选项卡,然后按照说明创建加载项并在本地测试。

先决条件

注意

如果不熟悉 Node.js 或 npm,请首先设置开发环境

  • Node.js(最新LTS 版本)。

  • 最新版本的 Yeoman适用于 Office 加载项的 Yeoman 生成器。若要全局安装这些工具,请从命令提示符处运行以下命令。

    npm install -g yo generator-office
    

    注意

    即便先前已安装了 Yeoman 生成器,我们还是建议你通过 npm 将包更新为最新版本。

  • Visual Studio Code (VS Code) 或首选代码编辑器

  • Windows 版 Outlook 2016 或更高版本(关联至 Microsoft 365 帐户)或 Outlook 网页版

创建加载项项目

  1. 运行以下命令,使用 Yeoman 生成器创建加载项项目。

    yo office
    

    注意

    运行该yo office命令时,可能会收到有关 Yeoman 和 Office 加载项 CLI 工具的数据收集策略的提示。 根据你的需要,使用提供的信息来响应提示。

    出现提示时,请提供以下信息以创建加载项项目。

    • 选择项目类型 - Office Add-in Task Pane project

    • 选择脚本类型 - JavaScript

    • 要如何命名加载项? - My Office Add-in

    • 要支持哪一个 Office 客户端应用程序? - Outlook

    显示命令行界面中 Yeoman 生成器的提示和回答的屏幕截图。

    完成此向导后,生成器会创建项目,并安装支持的 Node 组件。

    提示

    创建加载项项目后,可忽略 Yeoman 生成器提供的后续步骤指南。 本文中的分步说明提供了完成本教程所需的全部指南。

  2. 导航到 Web 应用程序项目的根文件夹。

    cd "My Office Add-in"
    

浏览项目

使用 Yeoman 生成器创建的加载项项目包含适合于基础任务窗格加载项的示例代码。

  • 项目根目录中的 ./manifest.xml 文件定义加载项的设置和功能。
  • ./src/taskpane/taskpane.html 文件包含组成任务窗格的 HTML。
  • ./src/taskpane/taskpane.css 文件包含应用于任务窗格中的内容的 CSS。
  • ./src/taskpane/taskpane.js 文件包含用于加快任务窗格与 Outlook 之间的交互的 Office JavaScript API 代码。

更新代码

  1. 在 VS Code 或首选代码编辑器中打开项目。

    提示

    在 Windows 上,可通过命令行导航到项目的根目录,然后输入 code .在 VS Code 中打开该文件夹。 在 Mac 上,需要先code 命令添加到路径中,然后才可使用该命令在 VS Code 中打开项目文件夹。

  2. 打开文件 ./src/taskpane/taskpane.html,将 body> 元素) 中的<整个 <main> 元素 (替换为以下标记。 此新标记将添加标签,其中 ./src/taskpane/taskpane.js 中的脚本将写入数据。

    <main id="app-body" class="ms-welcome__main" style="display: none;">
        <h2 class="ms-font-xl"> Discover what Office Add-ins can do for you today! </h2>
        <p><label id="item-subject"></label></p>
        <div role="button" id="run" class="ms-welcome__action ms-Button ms-Button--hero ms-font-xl">
            <span class="ms-Button-label">Run</span>
        </div>
    </main>
    
  3. 在代码编辑器中,打开文件 ./src/taskpane/taskpane.js,然后将以下代码添加到 run 函数。 此代码使用 Office JavaScript API 获取当前邮件的引用并将其 subject 属性值写入任务窗格。

    // Get a reference to the current message
    const item = Office.context.mailbox.item;
    
    // Write message property value to the task pane
    document.getElementById("item-subject").innerHTML = "<b>Subject:</b> <br/>" + item.subject;
    

    taskpane.js 文件现在应包含以下代码。

    /*
     * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
     * See LICENSE in the project root for license information.
     */
    
    /* global document, Office */
    
    Office.onReady((info) => {
      if (info.host === Office.HostType.Outlook) {
        document.getElementById("sideload-msg").style.display = "none";
        document.getElementById("app-body").style.display = "flex";
        document.getElementById("run").onclick = run;
      }
    });
    
    export async function run() {
      // Get a reference to the current message
      const item = Office.context.mailbox.item;
    
      // Write message property value to the task pane
      document.getElementById("item-subject").innerHTML = "<b>Subject:</b> <br/>" + item.subject;
    }
    

试用

注意

即使在开发过程中,Office 外接程序也应使用 HTTPS,而不是 HTTP。 如果在运行以下命令之一后系统提示安装证书,请接受安装 Yeoman 生成器提供的证书的提示。 你可能还必须以管理员身份运行命令提示符或终端才能进行更改。

  1. 在项目的根目录中运行以下命令。 运行此命令时,本地 Web 服务器将启动,并且将旁加载加载项。

    npm start
    
  2. 在 Outlook 中,在阅读窗格中查看邮件,或在其自己的窗口中打开邮件。

  3. 如果在) 的窗口中打开邮件,请选择“ 开始 ”选项卡 (或“ 邮件 ”选项卡,然后选择功能区上的“ 显示任务窗格 ”按钮以打开加载项任务窗格。

    显示 Outlook 中突出显示“加载项”功能区按钮的消息窗口屏幕截图。

    注意

    如果在任务窗格中收到错误“我们无法从本地主机打开此加载项”,请按照疑难解答文章中中所述步骤进行操作。

  4. 当系统提示“Web 视图在加载时停止”对话框时,请选择“确定”。

    注意

    如果选择“取消”,则当加载项的此实例正在运行时,将不会再次显示该对话框。 但如果重新启动加载项,则会再次看到该对话框。

  5. 滚动至任务窗格的底部并选择“运行”链接,将邮件主题写入任务窗格。

    显示突出显示“运行”链接的加载项任务窗格屏幕截图。

    加载项任务窗格的屏幕截图,其中显示邮件主题。

后续步骤

祝贺!已成功创建首个 Outlook 任务窗格加载项! 接下来,将继续学习 Outlook 加载项教程,详细了解 Outlook 加载项的功能,以及如何生成更复杂的加载项。

另请参阅