首页 > 解决方案 > 如何使用 office.js API 在 Outlook 邮件中选择文本

问题描述

我正在实现一个 Web 应用程序,它可以帮助用户找到特定单词的替代品。

人们可以访问此数据的一种方式应该是通过 Office AddIns(使用 Office.js)在按钮按下时选择关键词,让用户选择替代方案(由我的 Webapp 的 API 提供),并在选择时替换选择中的内容第二次按下按钮。将其视为用于特定目的的自定义拼写检查器/迷你语法。

所以第一件事是,我需要在文档/邮件中选择某个文本区域/范围(基本上模拟 Ctrl-F)。遗憾的是,我没有在 Outlook 插件的文档中找到这个特定的 API 调用。只有 Body.getAsync 和 Body.setAsync 但如果可能的话,我不想替换整个文本。

仅供参考:对于 MS Word,同样可以通过以下方式轻松实现:

      Word.run(function (context) {
        const ranges = context.document.body.search('office.js is stupid')
        const range = ranges.getFirst()
        range.select() 
        const alternative = 'office.js is awesome' //Faked user interaction
        range.insertHtml(alternative, 'Replace')
        })

Outlook 的等价物是什么?

仅供参考:我已经检查了多个来源,但我最失望的是我没有在这里找到答案:https ://docs.microsoft.com/en-us/javascript/api/outlook/office.body?view=outlook- js-preview 另外,我认为 Grammarly 没有在 Microsoft AppSource O365 商店中提供 Outlook 插件是一个不好的迹象。

编辑:嗯,看起来不太好。

编辑2:也许不是那么重要,但有人知道为什么没有:

window.Outlook.run(async context =>{
    //[...]
    await context.sync()
  }
)

标签: javascriptoutlookoffice-jsoffice-addinsoffice365api

解决方案


这在今天是不可能的。我们在 用户语音页面上跟踪 Outlook 加载项功能请求。

看起来您想要的功能已经被其他人请求了。请支持现有的请求。当我们进行规划过程时,会考虑用户语音的功能请求。


推荐阅读