首页 > 解决方案 > 如何将静态时间戳脚本 Google 工作表循环到所有工作表

问题描述

我对循环感到头晕目眩,我尝试了从这里找到的一些变体,但我无法得到任何工作。现在我很困惑我从哪里开始,又从头开始。

这就是我想要的,但全年/12 张

function onEdit() {
    var s = SpreadsheetApp.getActiveSheet();
    if( s.getName() == "jan22" ) { 
    var r = s.getActiveCell();
    if( r.getColumn() == 4 ) { 
    var nextCell = r.offset(0, -3);
    if( nextCell.getValue() === '' ) 
    nextCell.setValue(new Date());
    }
    }
}

我试过 var sheet = ["feb22", "mar22", "apr22", "may22", "jun22", "jul22", "aug22", "sep22", "oct22", "nov22", "dec22 " ];

我从这里找到谷歌脚本:调整脚本以应用于多张纸,快速更正

我还尝试了从这里找到的Google Sheets Script: How to run function on loop over all sheet in workbook and onOpen? 在这里 通过for循环谷歌表格脚本将行复制到另一张表格

但是我开始收到错误,即使 ss.getsheets 也不是正确的术语。我想我只是不能删除不相关的命令/添加相关的命令。(这是我生命中的第三天,我什至知道 Apps Script)

标签: google-apps-scriptgoogle-sheets

解决方案


如果您希望该功能适用​​于电子表格中的所有工作表,则可以删除第一个 if 语句。

尝试

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
var r = s.getActiveCell();
if( r.getColumn() == 4 ) { 
var nextCell = r.offset(0, -3);
if( nextCell.getValue() === '' ) 
nextCell.setValue(new Date());
}
}

看看这是否有效?


推荐阅读