主题
移动光标到指定文本
在 Word 中,如何查询指定的文本,并且移动输入光标过去:
- 首先,定位文字:
const info = await app.ActiveDocument.Find.Execute('WebOffice'); // 返回 [{ pos: 16, len: 2 }]
- 然后,获取
pos
位置信息:const pos = info[0].pos;
- 最后,移动光标:
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);
}