【发布时间】:2021-11-28 14:07:41
【问题描述】:
我有一个在工作表上运行的简单脚本。但是,我将来会在电子表格中添加更多工作表,并希望针对所有工作表运行脚本。
所以目前我需要为每张纸设置一个单独的函数。在该函数中,我使 sheet1 处于活动状态,并具有一个单独的函数,该函数与 sheet 2 、3 、4 等具有相同的功能。但是,这似乎不是一个非常优雅的解决方案并且不容易维护。
有谁知道我可以如何创建一个简单的循环,它会检测电子表格中的工作表数量,然后为每个工作表运行我的脚本。供参考,下面是 mny 完整脚本,目前已为 sheet2 编写。
非常感谢大家
function pricesearchsheet2() {
var date = new Date();
var currenthour = date.getHours();
var currentmonth = date.getMonth();
var sheetrow = 1
var targetcell = 1
// set the target cell based on the current hour of the day
if (currenthour == 0) {
var targetcell = "B6";
}
if (currenthour == 1) {
var targetcell = "C6";
}
if (currenthour == 2) {
var targetcell = "D6";
}
if (currenthour == 3) {
var targetcell = "E6";
}
if (currenthour == 4) {
var targetcell = "F6";
}
if (currenthour == 5) {
var targetcell = "G6";
}
if (currenthour == 6) {
var targetcell = "H6";
}
if (currenthour == 7) {
var targetcell = "I6";
}
if (currenthour == 8) {
var targetcell = "J6";
}
if (currenthour == 9) {
var targetcell = "K6";
}
if (currenthour == 10) {
var targetcell = "L6";
}
if (currenthour == 11) {
var targetcell = "M6";
}
if (currenthour == 12) {
var targetcell = "N6";
}
if (currenthour == 13) {
var targetcell = "O6";
}
if (currenthour == 14) {
var targetcell = "P6";
}
if (currenthour == 15) {
var targetcell = "Q6";
}
if (currenthour == 16) {
var targetcell = "R6";
}
if (currenthour == 17) {
var targetcell = "S6";
}
if (currenthour == 18) {
var targetcell = "T6";
}
if (currenthour == 19) {
var targetcell = "U6";
}
if (currenthour == 20) {
var targetcell = "V6";
}
if (currenthour == 21) {
var targetcell = "W6";
}
if (currenthour == 22) {
var targetcell = "X6";
}
if (currenthour == 23) {
var targetcell = "Y6";
}
if (currenthour == 24) {
var targetcell = "Z6";
}
SpreadsheetApp.getActive().getSheetByName("Sheet2");
// Capture the data from FUTBIN according to the URL set in cell A1
SpreadsheetApp.getActive().getRange(targetcell).setValue('=--SPLIT(REGEXEXTRACT(JOIN(",", IMPORTDATA(B1)),"LCPrice"":""(.*)"), CHAR(34))')
}
【问题讨论】:
标签: google-apps-script google-sheets