如何在已在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);
}
}
答案 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]);