Google Docs脚本实现每秒检测感叹号并高亮文本的问题求助
Google Docs脚本实现每秒检测感叹号并高亮文本的问题求助
我现在想实现一个功能——每秒检测文档里是否有感叹号(!),如果有的话就高亮对应的文本。目前我的脚本确实能每秒触发一次,但只有第一次触发的时候会检查感叹号,后续的触发都没起到检测作用。
我试过几种方法,但都不太满意:
- 之前看到过一个方案,但需要添加侧边栏还要插入HTML,我不想这么做;
- 看到过用
onEdit作为替代方案的回答,但那个方案的触发器是每60秒触发一次,达不到我要的每秒检测的要求; - 还有一个回答讲了怎么实现每秒调用一次函数,我照着试了,但没搞明白怎么把检测逻辑结合进去;
- 之前我提问得到的一个回答帮我解决了“触发器过多”的错误,但现在还是没法让脚本每次触发都检查用户有没有新加感叹号。
下面是我目前写的代码:
function myFunction () { var numIterations = 10 for (var i = 0; i < numIterations; i++) { var doc = DocumentApp.openByUrl('doc url'); var body = doc.getBody(); var text = body.editAsText(); Logger.log (body.findText('!')) if (body.findText ('!') != null){ text.setBackgroundColor(13,50,'#FFFF00'); } else { Utilities.sleep(1000); if (ScriptApp.getProjectTriggers() == null){ ScriptApp.newTrigger("myFunction") .timeBased() .after(1000) .create(); } } } }
现在的问题是,脚本第一次运行会检查感叹号,但后续的触发好像没执行检测逻辑,有没有大佬能帮我看看哪里出问题了?
备注:内容来源于stack exchange,提问作者jacob.in.nyc
相关产品推荐
相关产品推荐

