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

标签 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
  }
// ...

最佳答案

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

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

相关文章:

javascript - 如何在不改变图案的情况下改变 HTML5 Canvas 中图像的颜色

javascript - 查找两个单独的 JavaScript 对象之间的重复值?

javascript - Excel-JS - 重新计算不起作用

excel - 如何检测事件是由最终用户触发的? (通过代码忽略事件触发)

javascript - 在 Visual Studio Web Express 2013 或 Visual Studio 2015 社区中调试 javascript

javascript - 如何将类添加到列表项

javascript - 从 aurelia http 客户端检索 jsonp 时出错

javascript - 控制台登录 Javascript Office 插件

javascript - 引用错误: Excel is not defined

ms-word - 在任务 Pane 中单击后如何将MS Word光标集中发送回当前文档