需求:基于Google Apps Script的Google Docs批量特定文本高亮工具
Google Docs 全文批量关键词高亮脚本实现
针对你需要批量高亮全文相同关键词的需求,这里提供一个Google Script解决方案,完全替代只能高亮选中文本的插件:
操作步骤
- 打开你的Google Docs文档,点击顶部菜单栏「扩展程序」→「Apps Script」,进入脚本编辑器
- 删除编辑器里的默认代码,粘贴下面的完整脚本
- 点击编辑器顶部的「保存」按钮,给项目起个名字(比如「批量高亮工具」)
- 点击运行按钮(▶️),首次运行会触发Google权限验证,按照提示完成授权(属于正常安全流程,脚本只会访问当前文档)
- 返回文档,会弹出输入框,输入你要高亮的关键词,确认后即可自动高亮全文所有匹配项
完整脚本代码
function batchHighlightKeywords() { // 获取当前活动文档 const doc = DocumentApp.getActiveDocument(); const body = doc.getBody(); // 弹出输入框获取关键词 const keyword = DocumentApp.getUi().prompt('请输入要高亮的关键词:').getResponseText(); if (!keyword) return; // 如果未输入关键词则退出 // 定义高亮颜色(这里用黄色,可自行修改十六进制色值) const highlightColor = '#FFFF00'; // 遍历查找所有匹配的文本 let searchResult = body.findText(keyword); while (searchResult) { const element = searchResult.getElement(); const startOffset = searchResult.getStartOffset(); const endOffset = searchResult.getEndOffsetInclusive(); // 给匹配文本设置高亮背景色 element.asText().setBackgroundColor(startOffset, endOffset, highlightColor); // 查找下一个匹配项 searchResult = body.findText(keyword, searchResult); } }
自定义说明
- 修改高亮颜色:把脚本里的
highlightColor值改成你需要的十六进制色值即可(比如浅蓝色#ADD8E6) - 大小写匹配:默认脚本是区分大小写的,如果需要忽略大小写,把
findText(keyword)改成findText(keyword, null, true) - 多关键词高亮:如果需要一次高亮多个关键词,可以修改脚本让输入框支持逗号分隔,比如把获取关键词的部分改成:
const keywords = DocumentApp.getUi().prompt('请输入要高亮的关键词(逗号分隔):').getResponseText().split(','); keywords.forEach(keyword => { if (!keyword.trim()) return; let searchResult = body.findText(keyword.trim()); while (searchResult) { const element = searchResult.getElement(); const startOffset = searchResult.getStartOffset(); const endOffset = searchResult.getEndOffsetInclusive(); element.asText().setBackgroundColor(startOffset, endOffset, highlightColor); searchResult = body.findText(keyword.trim(), searchResult); } });
内容的提问来源于stack exchange,提问作者Julia Richmond
相关产品推荐
相关产品推荐

