Google App Script浏览器输入框取消按钮异常:点击OK触发取消提示
问题解决:Google Apps Script中Browser.inputBox取消按钮逻辑错误
你的代码里存在两个关键错误,导致点击OK按钮也会触发取消提示:
- 赋值运算符误用为比较运算符:
if(Browser.Buttons.CANCEL = true)中的=是赋值操作,会强制把true赋值给Browser.Buttons.CANCEL,导致条件永远成立,无论点击OK还是Cancel都会执行取消逻辑。 - 返回值判断逻辑错误:
Browser.inputBox的返回值规则是:点击Cancel时返回Browser.Buttons.CANCEL常量;点击OK时返回用户输入的文本内容。你需要直接判断返回值是否等于Browser.Buttons.CANCEL,而非修改这个常量的值。
同时修正代码里其他两个语法错误(原获取表格和数据的方法不存在),以下是修正后的完整代码:
function sendEmails() { const sheet = SpreadsheetApp.getActiveSpreadsheet(); const sheetData = sheet.getDataRange().getValues(); const subjectline = "Weekly Breakdown for the week of - "; const result = Browser.inputBox('Please enter the date range for e-mail subject.', Browser.Buttons.OK_CANCEL); // 正确判断是否点击取消按钮 if(result === Browser.Buttons.CANCEL) { Browser.msgBox('The operation has been cancelled'); return; } const subject = subjectline + result; // 后续可添加发送邮件的逻辑 }
内容的提问来源于stack exchange,提问作者Harikrishnan Kavungal
相关产品推荐
相关产品推荐

