Skip to content

移动光标到指定文本

在 Word 中,如何查询指定的文本,并且移动输入光标过去:

  1. 首先,定位文字:const info = await app.ActiveDocument.Find.Execute('WebOffice'); // 返回 [{ pos: 16, len: 2 }]
  2. 然后,获取 pos 位置信息:const pos = info[0].pos;
  3. 最后,移动光标:await app.ActiveDocument.Range.SetRange(pos, pos);

这样,就可以看到光标移动过去了,代码整理如下:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 1. 搜索并高亮文本
  const findResult = await app.ActiveDocument.Find.Execute('WebOffice');

  // 2. 获取位置信息
  const { pos } = findResult[0];

  // 3. 获取区域对象
  const range = await app.ActiveDocument.Range.SetRange(pos, pos);
}

当然,我们还可以让界面智能滚动过去:

async function example() {
  // 前面步骤同上,代码省略

  // 4. 滚动文档窗口, 显示指定的区域
  await app.ActiveDocument.ActiveWindow.ScrollIntoView(range);
}