生成首个 Outlook 加载项

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

创建加载项

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

先决条件

  • Node.js(最新LTS 版本)。 访问 Node.js 站点 ,下载并安装适合你的操作系统的版本。

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

    npm install -g yo generator-office
    

    注意

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

  • 已连接到 Microsoft 365 订阅的 Office (包括 Office 网页版)。

    注意

    如果你还没有 Office,你可能有资格通过 Microsoft 365 开发人员计划获得Microsoft 365 E5开发人员订阅;有关详细信息,请参阅常见问题解答。 或者,可以 注册 1 个月的免费试用版购买 Microsoft 365 计划

创建加载项项目

  1. 运行以下命令,使用 Yeoman 生成器创建加载项项目。 包含项目的文件夹将添加到当前目录。

    yo office
    

    注意

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

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

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

    • 选择脚本类型 - JavaScript

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

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

    命令行界面中 Yeoman 生成器的提示和回答。

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

    注意

    如果使用 Node.js 20.0.0 或更高版本,则当生成器运行安装时,可能会看到一条警告,指出你的引擎不受支持。 我们正在努力解决此问题。 同时,警告不会影响生成的生成器或项目,因此可以忽略它。

    提示

    创建加载项项目后,可忽略 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
    

    注意

    如果加载项未自动旁加载,请按照 旁加载 Outlook 外接程序 中的说明进行测试,在 Outlook 中手动旁加载加载项。

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

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

    Outlook 中的邮件窗口,其中突出显示了加载项功能区按钮。

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

    注意

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

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

    加载项的任务窗格,其中突出显示了“运行”链接。

    加载项的任务窗格显示消息主题。

后续步骤

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

疑难解答

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

代码示例

另请参阅