我有一个SpreadSheet,其A1-> J1为TITLES ex。(ProductName,Price等)。现在我的脚本有效但我在获取第一行的内容时遇到问题。
假设我在A20中添加了一个新条目,现在activeCell是A20,但我怎么能得到A1哪个是标题并用activeCell打印出来。 A1,B1,C1所有这些都是标题,所以当我编辑B10时,我应该打印B10 + B1。
这是我的代码:
var sheet = SpreadsheetApp.getActiveSheet();
var editRange = sheet.getActiveRange();
var editRow = editRange.getRow();
var editCol = editRange.getColumn();
当我编辑某些内容时,我会得到A = 1,B = 2,C = 3等数字。 我只想要B1的内容而不是列号。这可能吗?
答案 0 :(得分:2)
将方法getValue()
应用于列中的顶部单元格。例如,
function onEdit(e) {
var topCell = e.range.offset(1-e.range.rowStart, 0).getValue();
Browser.msgBox(topCell);
}
此脚本使用event object将API调用数量减少到两个(offset
和getValue
),其余信息直接从对象中提取。对于诸如getActiveSheet
,getActiveRange
,getRow
,getColumn
之类的方法调用,这在性能方面更为可取......
1-e.range.rowStart
偏移意味着从已编辑的单元格向上移动到第一行。