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

Google Sheets Apps Script执行完成后"Working"提示窗不消失求助

解决Google Sheets Apps Script执行后"Working"窗口残留问题

这个问题属于Google Sheets的UI渲染同步bug,尤其是脚本里用到SpreadsheetApp.getUi().alert()这类阻塞式弹窗时,很容易出现执行完脚本但加载窗口不消失的情况。以下是几个可行的解决办法:

  • 替换阻塞弹窗为非阻塞提示
    把alert()换成toast(),这种提示不会阻塞UI线程,脚本执行完后"Working"窗口会自动消失:

    function TestWorking() {
      SpreadsheetApp.getActiveSpreadsheet().toast("Hello world!", "Test", 5);
    }
    
  • 手动触发UI刷新
    如果必须保留alert,可以在弹窗后加一段小代码触发Sheets的UI刷新,强制清除残留窗口:

    function TestWorking() {
      SpreadsheetApp.getUi().alert("Test", "Hello world!", Browser.Buttons.OK);
      // 通过临时修改表格标题触发UI刷新
      const ss = SpreadsheetApp.getActiveSpreadsheet();
      const originalTitle = ss.getName();
      ss.setName(originalTitle + " ");
      ss.setName(originalTitle);
    }
    
  • 改用自定义对话框
    用HtmlService创建自定义模态对话框,关闭对话框时会自动同步UI状态,不会残留加载窗口:

    function TestWorking() {
      const html = HtmlService.createHtmlOutput(`
        <p>Hello world!</p>
        <button onclick="google.script.host.close()" style="padding: 8px 16px;">OK</button>
      `).setWidth(300).setHeight(150);
      SpreadsheetApp.getUi().showModalDialog(html, "Test");
    }
    

如果以上方法都没效果,试试清除浏览器缓存、用无痕模式打开表格,或者检查是否有其他第三方插件/脚本干扰了Sheets的UI状态。

内容的提问来源于stack exchange,提问作者Mark Rae

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 22:12:34