我试图在同一个工作表上运行两个onEdit,但一次只能运行一个:
第一个函数:
function onEdit(e) {
if ([8,9].indexOf(e.range.columnStart) != -1) {
e.range.offset(0, 2).setValue(new Date());
}
}第二个函数:
function onEdit(e) {
var value = (typeof e.value == "object" ? e.range.getValue() : e.value);
if (e.range.columnStart == 14 && value == "ISSUED") {
e.range.offset(0,1).setValue(new Date());
}
}我是一个入门级的执行脚本,有什么帮助吗?提前感谢您的帮助!
发布于 2021-01-11 02:24:23
您有两个选择。以下是hybryd代码的示例:
嵌套:
function onEdit(e) {
moveRowsFromSheetToSheet_(e);
}
function moveRowsFromSheetToSheet_(e) {
// start of code
if(condition == met) {
//operation to follow
} //closes if statement operations; no close to moveRowsFromSheetToSheet_()
function moveRowsFromSheetToSheet1_() {
//start of code
if(condition == met){
//operation to follow
} //closes if statement operation
} //closes moveRowsFromSheetToSheet1_()
moveRowsFromSheetToSheet1_; //calls moveRowsFromSheetToSheet1_() so that it will run after moveRowsFromSheetToSheet_() code
} // closes moveRowsFromSheetToSheet_()未嵌套的:
function onEdit(e) {
moveRowsFromSheetToSheet_(e);
moveRowsFromSheetToSheet1_();
}
function moveRowsFromSheetToSheet_(e) {
// start of code
if(condition == met) {
//operation to follow
} //closes if statement operations
function moveRowsFromSheetToSheet1_() {
//start of code
if(condition == met){
//operation to follow
}
}发布于 2021-01-11 05:32:46
在您的案例中,最直接的方法是使用当前的函数,并将它们包装在单个onEdit触发器中,因为每个项目只能有一个触发器:
function onEdit(e){
myFunction1(e);
myFunction2(e);
}
function myFunction1(e) {
if ([8,9].indexOf(e.range.columnStart) != -1) {
e.range.offset(0, 2).setValue(new Date());
}
}
function myFunction2(e) {
var value = (typeof e.value == "object" ? e.range.getValue() : e.value);
if (e.range.columnStart == 14 && value == "ISSUED") {
e.range.offset(0,1).setValue(new Date());
}
}只需保存代码,它将在编辑时工作。
https://stackoverflow.com/questions/65656732
复制相似问题