如何在谷歌电子表格应用程序中使用Browser.msgBox响应?

时间:2018-04-12 09:26:31

标签: google-apps-script

我正在尝试获取用户的响应以执行其他操作。

Browser.msgBox('Greetings', 'hello world', Browser.Buttons.YES_NO);
if (response == Browser.Buttons.YES) {
Logger.log('The user clicked "Yes."');
} else {
Logger.log('The user clicked "No" or the dialog\'s close button.');
}

但这不起作用。 “响应未定义”错误显示。我如何得到答复?

3 个答案:

答案 0 :(得分:4)

仔细看看documentation。它返回一个String,其中包含“用户单击的按钮的小写文本(或对于被解除的对话框的'cancel')”。

您还需要将返回值保存在response变量中。

var response = Browser.msgBox('Greetings', 'hello world', Browser.Buttons.YES_NO);
if (response == "yes") {
  Logger.log('The user clicked "Yes."');
} else {
  Logger.log('The user clicked "No" or the dialog\'s close button.');
} 

答案 1 :(得分:2)

这是它的工作原理:

  var response = Browser.msgBox('Greetings', 'hello world', Browser.Buttons.YES_NO);
  Logger.log(response);
  if (response == "yes") {
    Logger.log('The user clicked "Yes."');
  } else {
    Logger.log('The user clicked "No" or the dialog\'s close button.');
  }

请求响应选项的浏览器方法返回一个字符串,您可以使用上面代码中的记录器来检查它。 所以我们必须在该字符串上使用条件来检查结果。

答案 2 :(得分:0)

我更喜欢 UI 方法,不必硬编码响应:

 var response = ui.alert('Are you sure you want to continue?', ui.ButtonSet.YES_NO);

  // Process the user's response.
  if (response == ui.Button.YES) {
    Logger.log('The user clicked "Yes."');
  } else {
    Logger.log('The user clicked "No" or the dialog\'s close button.');
  }

Sourse