我正在尝试设置Google表格电子表格,其中,在编辑特定单元格时,右侧单元格中的日期会更新以指示已进行更改。在Google表格论坛上,有人指示我在这里寻求最佳指导。
脚本本身运行正常。但是,我想将它限制在特定的单元格(或行 - 要么工作),以便它不会在我的标题行中添加日期戳。我需要添加什么来将脚本应用于特定的单元格/行?
这是我现在的剧本:
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
var r = s.getActiveCell();
if( r.getColumn() != 3 ) { //checks the column
var row = r.getRow();
var time = new Date();
time = Utilities.formatDate(time, "GMT-07:00", "MM/dd/yy");
SpreadsheetApp.getActiveSheet().getRange('C' + row.toString()).setValue(time);
};
};
假设我们说我有一张包含30个活动行的工作表。我希望日期戳显示在第9行到第13行; 15至18;其他行都是标题,我希望能够在没有Sheets用日期戳填充相邻单元格的情况下更改文本。如果有可能,我将如何编辑脚本以在Google表格中实现此目的?谢谢!!
答案 0 :(得分:1)
只需为列条件添加更多条件。
例如,对于第2个第一系列行:
if( r.getColumn() != 3 && ((row>8 && row<14)||(row>14 && row<19))){ // continue with other AND and OR for all your conditions
不过,我还建议用这种专用方法替换硬编码时区:
var tz = Session.getScriptTimeZone();
var time = Utilities.formatDate(new Date(),tz, "MM/dd/yy");
即使您所在的国家/地区有夏令时,它也会自动匹配工作表的时区。