我有以下使用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
  }
// ...

最佳答案

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

关于javascript - Office.js选择文本并将其替换为ContentControl,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50943435/

10-11 01:17