【发布时间】:2013-12-19 02:09:36
【问题描述】:
我的代码是一个调度程序,它使用户注册到特定工作表中的特定位置。问题是该代码仅适用于第一张纸(“Jan 20 Mon”)。
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Jan 20 Mon");
var sheet2 = ss.getSheetByName("Jan 21 Tue");
var sheet3 = ss.getSheetByName("Jan 22 Wed");
var sheet4 = ss.getSheetByName("Jan 23 Thurs");
var sheet5 = ss.getSheetByName("Jan 24 Fri");
var condition1as1 = sheet1.getRange("B2").getValue(); var condition1bs1 = sheet1.getRange("C2").getValue(); var condition1cs1 = sheet1.getRange("D2").getValue(); var condition1ds1 = sheet1.getRange("E2").getValue();
var condition1as2 = sheet2.getRange("B2").getValue(); var condition1bs2 = sheet2.getRange("C2").getValue(); var condition1cs2 = sheet2.getRange("D2").getValue(); var condition1ds2 = sheet1.getRange("E2").getValue();
var condition1as3 = sheet3.getRange("B2").getValue(); var condition1bs3 = sheet3.getRange("C2").getValue(); var condition1cs3 = sheet3.getRange("D2").getValue(); var condition1ds3 = sheet1.getRange("E2").getValue();
var condition1as4 = sheet4.getRange("B2").getValue(); var condition1bs4 = sheet4.getRange("C2").getValue(); var condition1cs4 = sheet4.getRange("D2").getValue(); var condition1ds4 = sheet1.getRange("E2").getValue();
var condition1as5 = sheet5.getRange("B2").getValue(); var condition1bs5 = sheet5.getRange("C2").getValue(); var condition1cs5 = sheet5.getRange("D2").getValue(); var condition1ds5 = sheet1.getRange("E2").getValue();
if (condition1cs1 == "1" && condition1ds1 == "None") {
var response = Browser.msgBox("PLEASE RECHECK SCHEDULE AND TID.", condition1as1+" , "+condition1bs1+" Are you sure?", Browser.Buttons.YES_NO);
if (response == "yes") {
sheet1.hideRows(2,1);
sheet1.getRange('E2').setValue("1");
//insert msgBox here
} else {
Browser.msgBox("Input again.");
}
}
if (condition1cs2 == "1" && condition1ds2 == "None") {
var response = Browser.msgBox("PLEASE RECHECK SCHEDULE AND TID.", condition1as2+" , "+condition1bs2+" Are you sure?", Browser.Buttons.YES_NO);
if (response == "yes") {
sheet2.hideRows(2,1);
sheet2.getRange('E2').setValue("1");
//insert msgBox here
} else {
Browser.msgBox("Input again.");
}
}
}
基本上,我尝试设置我正在使用的所有工作表,以便我可以随时访问它们。第一个 if 用于第一张纸(并且有效)。第二个 if 用于第二张纸(它不起作用)。
【问题讨论】:
-
如何让它在多张纸上运行?在多张纸上运行 onEdit 背后的格式/原则是什么?
-
“代码仅在第一张纸上有效”是什么意思?你能详细说明一下吗
-
第一个“if”用于第一张纸。第二个“如果”是针对第二张纸的。该代码仅在第一张纸/第一个“如果”之前有效。第二个“如果”根本不起作用。也就是说,我将为剩下的 3 张纸再添加 3 个“如果”(当然,使用我的代码也不起作用)。
标签: javascript google-apps-script google-sheets triggers