如何在Word Web Add-In中通过JavaScript在光标位置插入文本?
在Word中光标位置插入文本的可行方案
body.insertText() 是针对整个文档主体的操作,不管指定哪种InsertLocation参数,都只能在文档主体的开头/末尾等固定位置插入,无法定位到光标所在的选区。要实现光标位置插入文本,需要直接操作**当前选区(Selection)**对象:
核心实现代码
使用Word.run封装操作,通过context.document.getSelection()获取当前光标对应的选区,再调用选区的insertText方法即可:
Word.run(async (context) => { // 获取当前光标所在的选区 const currentSelection = context.document.getSelection(); // 在选区位置插入文本:replace会替换选中内容,end会在光标后追加 currentSelection.insertText("insert my text here", Word.InsertLocation.replace); await context.sync(); }) .catch((error) => { console.error("插入文本失败:", error); });
参数说明
- 用
Word.InsertLocation.replace:如果当前有选中的文本,会直接替换选中内容;如果没有选中内容(仅光标),则在光标位置插入文本。 - 用
Word.InsertLocation.end:不管是否有选中内容,都会在选区的末尾(光标/选中内容的后面)插入文本。
内容的提问来源于stack exchange,提问作者Patrick Husting
相关产品推荐
相关产品推荐

