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