Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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
Javascript 如何在google应用程序脚本上记录列中所有单元格的值_Javascript_Google Apps Script - Fatal编程技术网

Javascript 如何在google应用程序脚本上记录列中所有单元格的值

Javascript 如何在google应用程序脚本上记录列中所有单元格的值,javascript,google-apps-script,Javascript,Google Apps Script,我试图获取列L中的所有值,该列被索引为列11(var check)。然而,我只得到列中第一个单元格的值,它停止循环。我已经创建了一个注释作为参考 谁能帮帮我吗 请忽略: 看起来你的帖子大部分都是代码;请添加更多详细信息。 看起来你的帖子大部分都是代码;请添加更多详细信息。 看起来你的帖子大部分都是代码;请添加更多详细信息 function myFunction(e) { var sheet = SpreadsheetApp.openById("1naSWINA8_uxeLUsj0lFntq

我试图获取列L中的所有值,该列被索引为列11(var check)。然而,我只得到列中第一个单元格的值,它停止循环。我已经创建了一个注释作为参考

谁能帮帮我吗

请忽略: 看起来你的帖子大部分都是代码;请添加更多详细信息。 看起来你的帖子大部分都是代码;请添加更多详细信息。 看起来你的帖子大部分都是代码;请添加更多详细信息

function myFunction(e) {

  var sheet = SpreadsheetApp.openById("1naSWINA8_uxeLUsj0lFntqILyDj2nirb56uvkBel79Y").getSheetByName("CRM Feedback");

  var ss = SpreadsheetApp.getActive().getSheetByName("Form Responses 1");

  var data = sheet.getRange(4, 1, ss.getLastRow(), ss.getLastColumn()).getValues();

  var manager_email = "XXXXX";

  for( var i = 0; i< data.length;i++ ) {

    var timestamp =             data[i][0];
    var requesterEmail =        data[i][1];
    var starRating =            data[i][2];
    var requestCatergory =      data[i][3];
    var description =           data[i][4];
    var label =                 data[i][5];
    var ticketId =              data[i][6];
    var comment =               data[i][7];
    var status =                data[i][8];
    var priority =              data[i][9];
    var office =                data[i][10];


//I am trying to log all the values in column 11
   var check = data[i][11];
    Logger.log(check)

    var checkTimestamp = data[i][0]

    if(check == false){
      continue;
    } else {

      var subject = "CT IT feedback - ";
      var body = "<body>";
      body += "<br><b>Requester email:</b> " + requesterEmail
      body += "<br><b>Star Rating:</b> " + starRating
      body += "<br><b>Request Category</b> " + requestCatergory
      body += "<br><b>Description:</b> " + description
      body += "<br><b>label: </b> " + label
      body += "<br><b>Ticket ID: </b>" + ticketId
      body += "<br><b>Comment: </b>" + comment
      body += "<br><b>status: </b>" + status
      body += "<br><b>priority:</b> " + priority
      body += "<br><b>office: </b>" + office

      body += "</body>";

      MailApp.sendEmail(manager_email, subject, body, {htmlBody:body}) 

       var sent_string = "sent";

    ss.getRange(i + 1, 12).setValue(sent_string)


    if (sent_string){
      return


     }

    }

  }


}
函数myFunction(e){
var sheet=SpreadsheetApp.openById(“1naSWINA8_xelusJ0LFNTQILYDJ2NIRB56UVKBEL79Y”)。getSheetByName(“CRM反馈”);
var ss=SpreadsheetApp.getActive().getSheetByName(“表单响应1”);
var data=sheet.getRange(4,1,ss.getLastRow(),ss.getLastColumn()).getValues();
风险值经理\u email=“XXXXX”;
对于(变量i=0;i请求者电子邮件:“+requesterEmail”
正文+=“
星级:”+星级 正文+=“
请求类别”+请求类别 正文+=”
说明:“+说明 正文+=”
标签:“+标签 正文+=”
票证ID:“+ticketId” 正文+=”
注释:“+注释 正文+=”
状态:“+状态 正文+=“
优先级:”+优先级 正文+=“
办公室:”+office 正文+=”; MailApp.sendmail(经理_电子邮件,主题,正文,{htmlBody:body}) var sent_string=“sent”; ss.getRange(i+1,12).setValue(发送字符串) 如果(已发送字符串){ 回来 } } } }
  • 您希望在所有数据行中循环,并为状态尚未设置为“已发送”的每一行发送电子邮件
  • 您希望在发送电子邮件后将行的状态设置为“已发送”
问题是

  • 您有一个
    return
    语句,它使您退出
    for
    循环并停止迭代

  • 您似乎没有更改正确工作表和正确行的状态

我建议您修改代码如下:

function myFunction(e) {

  var sheet = SpreadsheetApp.openById("1naSWINA8_uxeLUsj0lFntqILyDj2nirb56uvkBel79Y").getSheetByName("CRM Feedback");

  var ss = SpreadsheetApp.getActive().getSheetByName("Form Responses 1");

  var data = sheet.getRange(4, 1, ss.getLastRow(), ss.getLastColumn()).getValues();

  var manager_email = "XXX";

  for( var i = 0; i< data.length;i++ ) {

    var timestamp =             data[i][0];
    var requesterEmail =        data[i][1];
    var starRating =            data[i][2];
    var requestCatergory =      data[i][3];
    var description =           data[i][4];
    var label =                 data[i][5];
    var ticketId =              data[i][6];
    var comment =               data[i][7];
    var status =                data[i][8];
    var priority =              data[i][9];
    var office =                data[i][10];


//I am trying to log all the values in column 11
   var check = data[i][11];
Logger.log(check)

    var checkTimestamp = data[i][0]
    if(check != "sent"){
      var subject = "CT IT feedback - ";
      var body = "<body>";
      body += "<br><b>Requester email:</b> " + requesterEmail
      body += "<br><b>Star Rating:</b> " + starRating
      body += "<br><b>Request Category</b> " + requestCatergory
      body += "<br><b>Description:</b> " + description
      body += "<br><b>label: </b> " + label
      body += "<br><b>Ticket ID: </b>" + ticketId
      body += "<br><b>Comment: </b>" + comment
      body += "<br><b>status: </b>" + status
      body += "<br><b>priority:</b> " + priority
      body += "<br><b>office: </b>" + office

      body += "</body>";

      MailApp.sendEmail(manager_email, subject, body, {htmlBody:body}) 
       var sent_string = "sent";
       //are you sure you want to set the stutus in ss and not in sheet to 'sent'?
      //Keep in mind that you start with row 4
    sheet.getRange(i +4, 12).setValue(sent_string)
    }
  }
}
函数myFunction(e){
var sheet=SpreadsheetApp.openById(“1naSWINA8_xelusJ0LFNTQILYDJ2NIRB56UVKBEL79Y”)。getSheetByName(“CRM反馈”);
var ss=SpreadsheetApp.getActive().getSheetByName(“表单响应1”);
var data=sheet.getRange(4,1,ss.getLastRow(),ss.getLastColumn()).getValues();
风险值经理\u email=“XXX”;
对于(变量i=0;i请求者电子邮件:“+requesterEmail”
正文+=“
星级:”+星级 正文+=“
请求类别”+请求类别 正文+=”
说明:“+说明 正文+=”
标签:“+标签 正文+=”
票证ID:“+ticketId” 正文+=”
注释:“+注释 正文+=”
状态:“+状态 正文+=“
优先级:”+优先级 正文+=“
办公室:”+office 正文+=”; MailApp.sendmail(经理_电子邮件,主题,正文,{htmlBody:body}) var sent_string=“sent”; //您确定要将ss中而非工作表中的stutus设置为“sent”吗? //请记住,您从第4行开始 sheet.getRange(i+4,12).setValue(发送字符串) } } }
是否要循环浏览所有行,并为尚未标记为已发送的行发送电子邮件?