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