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

Google Sheets Apps Script密码验证脚本优化:持续请求密码直至正确输入

优化Google Sheets密码验证脚本:防止弹窗关闭后脚本终止

原脚本的问题在于,当用户点击密码弹窗的外部区域或取消按钮时,ui.prompt().getResponseText()会抛出序列错误,直接终止循环和脚本执行。要实现"始终运行直到输入正确密码"的需求,需要捕获这个异常并让循环继续执行。

修改后的代码如下:

function contrasena() {
  const ui = SpreadsheetApp.getUi();
  const codigoCorrecto = "Centro Victoria";
  let guardarIntento = "";

  while (guardarIntento !== codigoCorrecto) {
    try {
      guardarIntento = ui.prompt("Por favor ingrese la contraseña").getResponseText();
    } catch (e) {
      // 捕获用户关闭弹窗/点击取消的异常,不修改guardarIntento,循环继续
      ui.alert("Debe ingresar la contraseña para acceder.");
    }
  }
  ui.alert("Contraseña Confirmada");
}

关键修改说明:

  • 新增try-catch块包裹弹窗调用逻辑,捕获用户关闭弹窗时触发的异常
  • 异常分支中添加提示,引导用户必须输入密码
  • 异常发生时guardarIntento保持原值(不等于正确密码),循环会再次触发密码弹窗
  • 使用!==替代!=,进行严格相等判断,避免类型转换导致的意外问题

配合你的onOpen初始化函数,用户每次打开表格时都会强制进入密码验证流程,直到输入正确密码为止,不会因为关闭弹窗而终止脚本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:52:16