如何使用App Script / JavaScript访问Google表格上的第二个标签?

问题描述

我只想访问第二个选项卡即可获取电子邮件和用于发送自动电子邮件名称值。当前,代码正在使用第一个选项卡。另外,我如何指定它应该仅使用具有值的行(在第二个选项卡上),而不是将整个列都包含很多空白然后抛出错误

function sendemail() {
  var spreadSheet = SpreadsheetApp.getActiveSheet();
  var datarange = spreadSheet.getDatarange();
  var data = datarange.getValues();

  for (var i = 1; i < data.length; i++) { 
    (function(val) {
      var row = data[i];
      var emailAddress = row[1]; //position of email header — 1
      var message = 'Hi There!';
      var subject = 'Test';
      MailApp.sendEmail(emailAddress,subject,message);
      })(i);
   }
}

解决方法

要在Spreadsheet中获得第二个工作表/标签,可以使用getSheets方法并获取Sheets返回列表的第二个元素:

var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var secondSheet = sheets[1];

要仅检索填充的行,请使用getDataRange方法检索其中存在数据的Range,并检索值。

var range = secondSheet.getDataRange();
var values = range.getValues();