If 语句和来自浏览器消息框的变量集

If statement and variable set from browser message boxes

我有一个发送电子邮件的简单脚本。该脚本提示用户输入他们的姓名,然后每封电子邮件都显示在消息框中,并提示用户确认是否应发送电子邮件。如果用户单击 "no",则不应发送电子邮件。

目前,if 语句无法正常工作,无论 msgbox 响应如何,电子邮件都会发送。

我想可能是消息框给变量"confirm"设置的值。看起来 confirm 变量总是设置为 "yes" 即使你点击否,不知道为什么。

编辑:更新到工作版本。

function sendEmails1() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("Send-Emails 1"));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("A2:D10");
var data = dataRange.getValues();

var sender = Browser.inputBox('Sender Name', 'Please enter your first and 
  last name', Browser.Buttons.OK_CANCEL);

if(sender !='cancel'){
   for (i in data) {
    var rowData = data[i];
    var emailAddress = rowData[1];
    var recipient = rowData[2];
    var text1 = 'text';
    var text2 = 'text';
    var text3 = 'text';
    var text4 = 'text';
    var text5 = 'text';
    var signoff = 'Kind Regards,';
    var sendername = sender ;
    var org = 'text'; ; 
    var message = recipient + ',\n\n' + text1 + ' ' + text2 + ' ' + text3 + '\n\n' + text4 + '\n\n' + text5 + '\n\n' + signoff + '\n\n' + sendername + '\n\n' + org;
    var subject = 'text';

    //prompt the user with the composed email for review
    var confirm = Browser.msgBox('Send the following email?', 'To: ' + 
        emailAddress + '\n\n' + recipient + ',\n\n' + message, 
    Browser.Buttons.YES_NO);
    if(confirm==='yes'){
        MailApp.sendEmail(emailAddress, subject, message);
   }
  }
 }
}

您的 if 语句应该使用比较 =====.

应该是

if (confirm === 'yes')