首页 > 解决方案 > office-js - 如何从 ClientResult 获取 HtmlElement

问题描述

我正在使用 office-js 和 office-ui-fabric-react 编写一个 MS Word 插件。一个要求是在文档中搜索某些文本,向提出问题的用户显示一个对话框,然后根据响应替换文本。

我可以使用通配符成功搜索文档,我可以为静态按钮成功显示一个弹出窗口(教学气泡或标注,它们似乎都是使用对话框 API 的包装器),但是将弹出窗口附加到找到的文本是一部分我正在寻找的谜题。

搜索返回 Word.RangeCollection,它是 Word.Range 的数组。getHtml() 方法返回 OfficeExtension.ClientResult。从中您可以获得只是文本的值,但我需要实际的 HtmlElement。

也许我的方法是错误的。我对任何替代解决方案持开放态度。

标签: office-jsoffice-ui-fabric

解决方案


如果您真的想要在找到的单词旁边有一个对话框,我认为没有任何方法可以做到这一点。作为替代方案,我认为您可能有一个功能可以突出显示找到的单词,然后在任务窗格中显示“您想要……”提示。您也可以使用 Dialog API 获得提示,但您无法控制对话框出现的位置,它可能会覆盖突出显示的文本。


推荐阅读