You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 07:53:03