Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 当所选工作表中没有数据时,不应发送电子邮件_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 当所选工作表中没有数据时,不应发送电子邮件

Google apps script 当所选工作表中没有数据时,不应发送电子邮件,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个脚本,它从谷歌表单中定义的标签名“Master”中提取数据,然后在特定时间发送电子邮件触发 我的问题是,如果“Master”中的表为空,我不希望脚本发送空白电子邮件。脚本应该停止发送电子邮件 否则会在提到的时间触发电子邮件。 任何人都可以分享他们对此的见解 function sendEmail() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("Master");

我有一个脚本,它从谷歌表单中定义的标签名“Master”中提取数据,然后在特定时间发送电子邮件触发

我的问题是,如果“Master”中的表为空,我不希望脚本发送空白电子邮件。脚本应该停止发送电子邮件

否则会在提到的时间触发电子邮件。 任何人都可以分享他们对此的见解

function sendEmail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Master");
  var range = sheet.getDataRange();
  var recipient = 'email@gmail.com'
  var subject = 'Stock Report'
  var date = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy")
  var schedRange = sheet.getRange("A1:L21"); 

  var body = '<div style="text-align:center;display: inline-block;font-family: arial,sans,sans-serif">'
  body += '<H1>'+ 'Low Stock Report ' +'</H1>';
  body += '<H2>'
  body += getHtmlTable(schedRange);
  body += '</div>'; 
  GmailApp.sendEmail(recipient, subject, "Requires HTML", {htmlBody:body}) 
  //End sendNotification

}
函数sendmail(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=ss.getSheetByName(“主”); var range=sheet.getDataRange(); var受体email@gmail.com' var主体=‘股票报告’ var date=Utilities.formatDate(新日期(),“GMT+1”,“dd/MM/yyyy”) var schedRange=sheet.getRange(“A1:L21”); 变量体=“” 正文+=''+'低库存报告'+''; 正文+=“” body+=getHtmlTable(schedRange); 身体+=''; sendmail(收件人,主题,“需要HTML”{htmlBody:body}) //结束发送通知 } 如何检查表是否为空
  • 如果您的表是
    var schedRange=sheet.getRange(“A1:L21”)您可以通过检查其空值,并仅在找到非空值时发送它
  • 您可以实现一个布尔变量-一旦在表中找到第一个非空值-它将被设置为true并发送电子邮件
样本:

function sendEmail() {
  ...
  var schedRange = sheet.getRange("A1:L21"); 
  var values = schedRange.getValues();
  var send = false;
  for (var i = 0; i < values.length; i++){
    for (var j = 0; j < values[0].length; j++){
      var value = values[i][j];
      if (value !="" && value !=" "){
        return send = true;
      }
    }
  }
  if (send == true){   
    var body = '<div style="text-align:center;display: inline-block;font-family: 
    ...
    GmailApp.sendEmail(recipient, subject, "Requires HTML", {htmlBody:body}) 
  }
}
function sendEmail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Master");
  var range = sheet.getDataRange();
  var recipient = 'alislife87@gmail.com'
  var subject = 'Stock Report'
  var date = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy")
  var schedRange = sheet.getRange("A1:L21"); 
  var values = schedRange.getValues();
  var send = false;
  for (var i = 0; i < values.length; i++){
    for (var j = 0; j < values[0].length; j++){
      var value = values[i][j];
      if (value !="" && value !=""){
        return send = true;
      }
    }
  }
  if (send == true){   
    var body = '<div style="text-align:center;display: inline-block;font-family: 
    arial,sans,sans-serif">'
    body += '<H1>'+ 'Low Stock Report ' +'</H1>';
    body += '<H2>'
    body += getHtmlTable(schedRange);
    body += '</div>';
    GmailApp.sendEmail(recipient, subject, "Requires HTML", {htmlBody:body})  
  }
}
函数sendmail(){ ... var schedRange=sheet.getRange(“A1:L21”); var values=schedRange.getValues(); var send=false; 对于(变量i=0;ivar body='在应用示例代码后,我没有收到电子邮件,我尝试了两种方法,有主控表中的数据和没有主控表中的数据,但没有电子邮件。我不确定我的方法是否正确

样本:

function sendEmail() {
  ...
  var schedRange = sheet.getRange("A1:L21"); 
  var values = schedRange.getValues();
  var send = false;
  for (var i = 0; i < values.length; i++){
    for (var j = 0; j < values[0].length; j++){
      var value = values[i][j];
      if (value !="" && value !=" "){
        return send = true;
      }
    }
  }
  if (send == true){   
    var body = '<div style="text-align:center;display: inline-block;font-family: 
    ...
    GmailApp.sendEmail(recipient, subject, "Requires HTML", {htmlBody:body}) 
  }
}
function sendEmail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Master");
  var range = sheet.getDataRange();
  var recipient = 'alislife87@gmail.com'
  var subject = 'Stock Report'
  var date = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy")
  var schedRange = sheet.getRange("A1:L21"); 
  var values = schedRange.getValues();
  var send = false;
  for (var i = 0; i < values.length; i++){
    for (var j = 0; j < values[0].length; j++){
      var value = values[i][j];
      if (value !="" && value !=""){
        return send = true;
      }
    }
  }
  if (send == true){   
    var body = '<div style="text-align:center;display: inline-block;font-family: 
    arial,sans,sans-serif">'
    body += '<H1>'+ 'Low Stock Report ' +'</H1>';
    body += '<H2>'
    body += getHtmlTable(schedRange);
    body += '</div>';
    GmailApp.sendEmail(recipient, subject, "Requires HTML", {htmlBody:body})  
  }
}
函数sendmail(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=ss.getSheetByName(“主”); var range=sheet.getDataRange(); var受体alislife87@gmail.com' var主体=‘股票报告’ var date=Utilities.formatDate(新日期(),“GMT+1”,“dd/MM/yyyy”) var schedRange=sheet.getRange(“A1:L21”); var values=schedRange.getValues(); var send=false; 对于(变量i=0;i
您希望表
schedRange
中的数据是完全满的还是完全空的?