我目前正在一个项目中,尝试根据用户在Google工作表中所做的更改填写“上次更新”日期。
我在同一工作簿中有三个Google工作表。
我遵循了一个教程,该教程可以帮助我获得所需的信息,当我在工作表中使用相同的代码时,它将使用我阅读的OnEdit的最后一个代码。
如下所示。如果用户更新了工作表1中的列(Col)1-17,则将最后更新的内容添加到行中的列18。
注意:以下代码全部在1个.gs文件中。
预期的行为:
当我进入工作表1时,根据工作表1中指定的更改和范围更新Col 18(最新更新)。如果在工作表2中,则为该处的相应范围执行相应操作。与工作表3相同。
请参见下面的代码:
function onEdit(x) {
addTimeStampGlossary(x);
}
function onEdit(y) {
addTimeStampTables(y);
}
function onEdit(z) {
addTimeStampFields(z);
}
function addTimeStampGlossary(x){
// variables
var startRow = 2;
var ws = "Sheet1";
//get modified row and column
var row = x.range.getRow();
var col = x.range.getColumn();
if(col === 1 || col === 2 || col === 3 || col === 4 || col === 5 || col === 6 || col === 7 || col === 8 || col === 9 || col === 10 || col === 11 || col === 12 || col === 13 || col === 14 || col === 15 || col === 16 || col === 17 && row >= startRow && x.source.getActiveSheet().getName() === ws ){
x.source.getActiveSheet().getRange(row,18).setValue(new Date());
}
}
function addTimeStampTables(y){
// variables
var startRow = 2;
var ws = "Sheet2";
//get modified row and column
var row = y.range.getRow();
var col = y.range.getColumn();
if(col === 1 || col === 2 || col === 3 || col === 4 || col === 5 || col === 6 || col === 7 || col === 8 || col === 9 || col === 10 || col === 11 || col === 12 || col === 13 || col === 14 || col === 15 || col === 16 || col === 17 || col === 18 || col === 19 && row >= startRow && y.source.getActiveSheet().getName() === ws ){
y.source.getActiveSheet().getRange(row,20).setValue(new Date());
}
}
function addTimeStampFields(z){
// variables
var startRow = 2;
var ws = "Sheet3";
//get modified row and column
var row = z.range.getRow();
var col = z.range.getColumn();
if(col === 1 || col === 2 || col === 3 || col === 4 || col === 5 || col === 6 || col === 7 || col === 8 || col === 9 || col === 10 || col === 11 || col === 12 || col === 13 || col === 14 || col === 15 || col === 16 && row >= startRow && z.source.getActiveSheet().getName() === ws ){
z.source.getActiveSheet().getRange(row,17).setValue(new Date());
}
}
您不能具有多个onEdit
功能。
仅保留一项onEdit
功能:
function onEdit(e) {
addTimeStampGlossary(e);
addTimeStampTables(e);
addTimeStampFields(e);
}
以及其他功能:
function addTimeStampGlossary(x){
// variables
var startRow = 2;
var ws = "Sheet1";
//get modified row and column
var row = x.range.getRow();
var col = x.range.getColumn();
if(col === 1 || col === 2 || col === 3 || col === 4 || col === 5 || col === 6 || col === 7 || col === 8 || col === 9 || col === 10 || col === 11 || col === 12 || col === 13 || col === 14 || col === 15 || col === 16 || col === 17 && row >= startRow && x.source.getActiveSheet().getName() === ws ){
x.source.getActiveSheet().getRange(row,18).setValue(new Date());
}
}
function addTimeStampTables(y){
// variables
var startRow = 2;
var ws = "Sheet2";
//get modified row and column
var row = y.range.getRow();
var col = y.range.getColumn();
if(col === 1 || col === 2 || col === 3 || col === 4 || col === 5 || col === 6 || col === 7 || col === 8 || col === 9 || col === 10 || col === 11 || col === 12 || col === 13 || col === 14 || col === 15 || col === 16 || col === 17 || col === 18 || col === 19 && row >= startRow && y.source.getActiveSheet().getName() === ws ){
y.source.getActiveSheet().getRange(row,20).setValue(new Date());
}
}
function addTimeStampFields(z){
// variables
var startRow = 2;
var ws = "Sheet3";
//get modified row and column
var row = z.range.getRow();
var col = z.range.getColumn();
if(col === 1 || col === 2 || col === 3 || col === 4 || col === 5 || col === 6 || col === 7 || col === 8 || col === 9 || col === 10 || col === 11 || col === 12 || col === 13 || col === 14 || col === 15 || col === 16 && row >= startRow && z.source.getActiveSheet().getName() === ws ){
z.source.getActiveSheet().getRange(row,17).setValue(new Date());
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句