【问题标题】:How to access 2nd tab on Google Sheets using App Script/JavaScript?如何使用 App Script/JavaScript 访问 Google 表格的第二个标签?
【发布时间】:2020-12-11 02:15:49
【问题描述】:

我只想访问第二个选项卡以获取用于发送自动电子邮件的电子邮件和名称值。目前,代码正在使用第一个选项卡。此外,我如何指定它应该只采用具有值的行(在第二个选项卡上),而不是采用具有许多空白的整个列然后引发错误?

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);
   }
}

【问题讨论】:

  • 您搜索过文档吗? .getSheetByName()?有关详细信息,请参阅tag info page
  • @TheMaster 我试过那个,但它对我来说是错误的。 var sheet = spreadSheet.getSheetByName('2ndtab');
  • 针对错误提出一个新问题或编辑您的问题以将您的问题范围限制为错误。见minimal reproducible example

标签: javascript google-apps-script google-sheets google-api google-api-java-client


【解决方案1】:

要获取Spreadsheet 中的第二个工作表/选项卡,您可以使用getSheets 方法并获取Sheets 返回列表的第二个元素:

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

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

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

【讨论】:

    最近更新 更多