Google apps script 循环遍历包含和不包含数据的行

Google apps script 循环遍历包含和不包含数据的行,google-apps-script,Google Apps Script,我有一个工作表(1),它将查找不同工作表(2)上包含数据的行。如果工作表(2)中的行具有数据,则其信息将填充在工作表(1)中。我需要一个循环来遍历并对工作表(1)中的行执行操作,并且能够跳过许多空白行以获得下一组信息 我有一个循环,它将遍历最后一行数据,但它会遍历所有包含信息的行,直到出现一个空行。我需要的东西,将通过空白行继续寻找数据行 function sendEmails() { var sheet = SpreadsheetApp.getActiveSheet(); var startR

我有一个工作表(1),它将查找不同工作表(2)上包含数据的行。如果工作表(2)中的行具有数据,则其信息将填充在工作表(1)中。我需要一个循环来遍历并对工作表(1)中的行执行操作,并且能够跳过许多空白行以获得下一组信息

我有一个循环,它将遍历最后一行数据,但它会遍历所有包含信息的行,直到出现一个空行。我需要的东西,将通过空白行继续寻找数据行

function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var lastRow = sheet.getLastRow(); // Number of rows to process
// Fetch the range of cells A2:B2
var dataRange = sheet.getRange(2, 1, lastRow-1, 6);
// Fetch values for each row in the Range.
var dataRangee = sheet.getRange("D2");
var qdate = dataRangee.getDisplayValues(); 
var dataRangeee = sheet.getRange("E2");
var ddate = dataRangeee.getDisplayValues();
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[2]; // Third column
var subject = 'Request';
var body = "Dear general partner,"
var file = DriveApp.getFileById('xxxxx');
var copy = row[5]; // Sixth column
GmailApp.sendEmail(emailAddress, subject, body, {cc: copy, attachments: 
[file]});
} 
}
此代码就是上面提到的循环代码,直到到达一个空行。

尝试以下操作:

function sendEmails() {
  var sh=SpreadsheetApp.getActiveSheet();
  var data=sh.getRange(2,1,sh.getLastRow()-1,6).getValues();
  //var qdate=sh.getRange("D2").getDisplayValue(); //not used
  //var ddate=sh.getRange("E2").getDisplayValue(); //not used
  var file = DriveApp.getFileById('xxxxx');
  var subject = 'Request';
  var body = "Dear general partner," 
  for (var i=0;i<data.length;i++) {
    if(data[i][2] && data[i][5]) {//if email or copy are undefined just skip
      var emailAddress = data[i][2]; // Third column
      var copy = data[i][5]; // Sixth column
      GmailApp.sendEmail(emailAddress, subject, body, {cc: copy, attachments:[file]});
    }
  } 
}
函数sendEmails(){ var sh=SpreadsheetApp.getActiveSheet(); var data=sh.getRange(2,1,sh.getLastRow()-1,6).getValues(); //var qdate=sh.getRange(“D2”).getDisplayValue();//未使用 //var ddate=sh.getRange(“E2”).getDisplayValue();//未使用 var file=DriveApp.getFileById('xxxxx'); var subject='Request'; var body=“亲爱的普通合伙人,”
为(var i=0;iIn)节省时间。将公共链接发布到电子表格(删除的私人信息)如何并且请发布您现在拥有的代码。代码必须满足的要求。编辑以显示正在使用的整个代码,再次循环此代码,直到找到一个空白。我希望它通过工作表查找任何包含信息的行。不会超过500行,我想我可以让它查找数据wI在前500行中?它在sendMail()上失败,因为emailAddress和/或副本可能未定义,并且您尚未实现从中恢复的方法。Cooper这太好了,非常感谢您花时间!