Office.js选择文本并将其替换为ContentControl

时间:2018-06-20 08:14:11

标签: javascript office-js

我有以下使用Office.js的用例:

  • 使用body.search()搜索一些文本
  • 找到文本之后,可以是多次出现,可以遍历它们,并用具有不同内容的ContentControl替换它们

搜索部分很容易,但是我不确定第二部分。将ContentControl插入光标位置并处理它的HTML内容不是问题,但是我不确定是否可以通过编程方式选择一个字符串,然后将其替换为其他内容。是吗? 还是我应该以某种方式围绕所选文本创建ContentControl,然后仅处理其HTML内容?

到目前为止,这是我的代码,位于Word.run内:

const res = context.document.body.search('[{]*[}]', {matchWildCards: true});
context.load(res, 'text');

return context.sync().then(() => {
  const citeKeys = [];
  for (let i = 0; i < res.items.length; i += 1) {
    // iterate through found strings by accessing res.items[i].text
  }
// ...

1 个答案:

答案 0 :(得分:2)

搜索字符串之后,body.search将返回一个集合给您,您可以循环范围集合并调用range.insertText("...", "replace")。此insertText方法还将返回一个range,然后您可以在其上调用range.insertContentControl。我认为这将帮助您实现目标。