Javascript 运行2个谷歌应用程序脚本
我是谷歌应用程序脚本的新手。 我有一个谷歌表,有两个标签。我有一个每个标签页的时间戳脚本。我不知道如何使其在有人键入单元格时自动显示时间戳。Javascript 运行2个谷歌应用程序脚本,javascript,function,google-apps-script,google-sheets,arrow-functions,Javascript,Function,Google Apps Script,Google Sheets,Arrow Functions,我是谷歌应用程序脚本的新手。 我有一个谷歌表,有两个标签。我有一个每个标签页的时间戳脚本。我不知道如何使其在有人键入单元格时自动显示时间戳。 提前感谢您的帮助 function onEdit(e){ myFunction1(); myFunction2(); function myFunction1(); { var row = e.range.getRow(); var col = e.range.getColumn(); if(col === 15 && e.
提前感谢您的帮助
function onEdit(e){
myFunction1();
myFunction2();
function myFunction1(); {
var row = e.range.getRow();
var col = e.range.getColumn();
if(col === 15 && e.source.getActiveSheet().getName() === "Monthly Reviews" ){
e.source.getActiveSheet().getRange(row,16).setValue(new Date());
}
function myFunction2(); {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "SLP" ) { //checks that we're on "TABNAME" tab or not
var r = s.getActiveCell();
if( r.getRow() == 7 && r.getColumn() == 2 ) { // checks that the cell being edited is in row 7 column
2
var nextCell = r.offset(1, 0); // looks at the cell in the 1 row down same column
if( nextCell.getValue() === '' ) // checks if that adjacent cell (1 down) is empty or not?
nextCell.setValue(new Date()).setNumberFormat('MM-dd-yyyy HH:mm:ss'); //sets the timestamp when
original cell is updated
}
}
}
}
注意:除非提供事件对象,否则无法从脚本编辑器运行此函数。Hi。谢谢你的回答。我复制了你的脚本,但给了我一个错误。TypeError:无法读取未定义的属性“range”此脚本不需要手动运行(从编辑器)。在您的工作表上进行更改,脚本将在您每次更改工作表时自动运行哇!处理错误。我还有很多东西要学。非常感谢你的帮助!请随意使用ITI。谢谢你的回答。我用你的脚本出错了。好的。确切的错误信息是什么?
function onEdit(e){
var row = e.range.getRow(),
col = e.range.getColumn(),
tmshtCell = null;
switch (e.source.getActiveSheet().getName()){
//checks that we're on "TABNAME" tab or not
case 'Monthly Reviews' :
if (col === 15) tmshtCell = e.range.offset(0,1)
break;
//checks that we're on "SLP" tab or not
case 'SLP':
// checks that the cell being edited is in row 7 column 2 and checks if that adjacent cell (1 down) is empty or not?
if (row === 7 && col === 2 && e.range.offset(1,0).getValue() == '') tmshtCell =e.range.offset(1,0)
break;
}
if (tmshtCell) tmshtCell.setValue(new Date()).setNumberFormat('MM-dd-yyyy HH:mm:ss')
}
function onEdit(e) {
const sh = e.range.getSheet();
if (sh.getName() == "Monthly Reviews" && e.range.columnStart == 15) {
e.range.offset(0, 1).setValue(new Date());
}
if (sh.getName() == 'SLP' && e.range.columnStart == 2 && e.range.rowStart == 7) {
if (e.range.offset(1, 0).getValue() == '') {
e.range.offset(1, 0).setValue(new Date());
}
}
}