如何获得Google App脚本警报响应以运行其他功能?

时间:2018-12-19 20:06:51

标签: google-apps-script

我的EmailPDF脚本可以正常运行。但是我想要的是弹出警报,询问您是否要发送报告。

function responseToSend() {
   var spreadSheet=SpreadsheetApp.getActiveSpreadsheet();
   var s = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet5');
   var se = s.getRange('A1').getValue();
   var ui = SpreadsheetApp.getUi();
   var prompt = ui.alert('Are you sure you wand to send this daily to ' + se + ' ?',ui.ButtonSet.YES_NO)

    if(prompt == ui.Button.YES){(EmailPDF)
    }
     else{
       ui.alert('Permission denied.');
    } 

}

function EmailPDF() { 

  var spreadSheet=SpreadsheetApp.getActiveSpreadsheet();
  var s = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet5');
  var se = s.getRange('A1').getValue();

我首先尝试在我的EmailPDF函数中编写ui.alert。但是我无法使它工作。如果响应答案为“是”,我可以使其正常工作,但是当我单击“否”时,它仍将运行脚本。 (即发送电子邮件)

我不知道在“ else {}”之后该怎么做才能使脚本停止运行或返回到开头。

然后我想也许我应该创建一个仅运行ui.alert的函数(responseToSend),如果响应为“是”,则运行EmailPDF函数。

我确信可以同时完成。

1 个答案:

答案 0 :(得分:0)

尝试一下:

function responseToSend() {
  var spreadSheet=SpreadsheetApp.getActiveSpreadsheet();
  var s = spreadSheet.getSheetByName('Sheet5');
  var se = s.getRange('A1').getValue();
  var ui = SpreadsheetApp.getUi();
  var ps = Utilities.formatString('Are you sure you want send this daily to %s ?',se);
  var prompt = ui.prompt(ps,ui.ButtonSet.YES_NO);
  if(prompt.getSelectedButton() == ui.Button.YES){
    EmailPDF();
  }else{
    ui.alert('Permission denied.');
  }
}