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

Javascript Office.js选择文本并将其替换为ContentControl,javascript,office-js,Javascript,Office Js,我使用Office.js有以下用例: 使用body.search()搜索某些文本 在找到文本后,可以多次出现,对它们进行迭代,并用具有不同内容的ContentControl替换它们 搜索部分很简单,但我不确定第二部分。在光标位置插入ContentControl并操纵它的HTML内容不是问题,但我不确定是否可以通过编程选择字符串,然后用其他内容替换它。它是? 或者我应该围绕所选文本创建一个ContentControl,然后仅仅操纵它的HTML内容吗 这是我到目前为止的代码,在Word中。运行:

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

  • 使用
    body.search()搜索某些文本
  • 在找到文本后,可以多次出现,对它们进行迭代,并用具有不同内容的ContentControl替换它们
搜索部分很简单,但我不确定第二部分。在光标位置插入ContentControl并操纵它的HTML内容不是问题,但我不确定是否可以通过编程选择字符串,然后用其他内容替换它。它是? 或者我应该围绕所选文本创建一个ContentControl,然后仅仅操纵它的HTML内容吗

这是我到目前为止的代码,在
Word中。运行

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
  }
// ...
const res=context.document.body.search(“[{]*[}]”,{matchWildCards:true});
加载(res,'text');
返回context.sync()。然后(()=>{
常数citeKeys=[];
对于(设i=0;i
搜索字符串后,body.search将向您返回一个集合,您可以循环范围集合并调用
range.insertText(“…”,“replace”)
。此
insertText
方法还将返回一个
范围
,然后您可以在其上调用
range.insertContentControl
。我认为这将帮助您实现目标。

听起来很合理,我将尝试一下,然后返回此线程。