如何在活动行中查找列值

时间:2018-01-21 03:55:43

标签: google-apps-script google-sheets

如何在已在Google Apps脚本中定义的有效行中的列中找到数据?

我有一个编辑功能,可以在将列f编辑为特定值时发送电子邮件。我需要找出b列中的值,以便将值包含在消息正文中。

我曾尝试使用范围,但我不明白如何为已在行变量中定义的活动范围定义第二列。这是我的代码的样子。 var called values是我需要帮助的代码行。行var正在查看正确的行。非常感谢任何帮助。

function onEdit(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var sheetName = sheet.getName();
  var cell = sheet.getActiveCell().getA1Notation();
  var row = sheet.getActiveRange().getRow();
  var cellvalue = sheet.getActiveCell().getValue().toString();
  var values = row.getcell()[0,2].getvalue().toString();
  var recipients = "kel...@trafficbuilders.us";
  var message = '';
  if(cellvalue === '✔'){ 
    message = 'All Items have been received for  .';
    var subject = 'All Items have been received for ' ;
    var body = message + '  Visit ' + ss.getUrl() + ' to view the changes';
    MailApp.sendEmail(recipients, subject, body);
   }
 } 

1 个答案:

答案 0 :(得分:0)

要从某个单元格中获取某个数据/值,请执行以下操作:

首先使用getRange()标识数据所在的单元格。有几种方法可以使用getRange。

来自文档的示例:

 // Get a range A1:D4 on sheet titled "Invoices"
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var range = ss.getRange("Sheet!A1:D4");

 // Get cell A1 on the first sheet
 var sheet = ss.getSheets()[0];
 var cell = sheet.getRange("A1");

要实际获取内容/数据,请使用getValues()getValue()

示例摘要:

// The code below gets the values for the range C2:G8
 // in the active spreadsheet.  Note that this is a JavaScript array.
 var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getValues();
 Logger.log(values[0][0]);

  var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheets()[0];
 // Passing only two arguments returns a "range" with a single cell.
 var range = sheet.getRange(1, 1);
 var values = range.getValues();
 Logger.log(values[0][0]);