我对整个脚本编码工作还是陌生的,在完善当前正在运行的脚本时遇到了麻烦。我找到了我正在使用的代码here。我能够对其进行修改以使其在工作表的E列上运行,并且在该工作表上可以很好地工作。
我想让它在工作簿中的多张纸上运行,但是我对使它起作用的编码语言/语法不够熟悉。我曾尝试从具有类似目标的其他帖子中提取一些代码,只是为了使以前运行的部分代码出现脚本错误。
代码如下:
function onOpen() {
var s = SpreadsheetApp.getActive()
.getSheetByName('BV421');
s.showRows(1, s.getMaxRows());
s.getRange('E:E')
.getValues()
.forEach(function (r, d) {
if (r[0] !== '' && r[0].toString()
.charAt(0) == 0) s.hideRows(d + 1)
});
}
我知道问题(至少部分是).getSheetByName('BV421')造成的,但是我不确定如何选择多个表。我还有其他工作表(例如Alexafluor488,PerCP,FITC等),但我不想在工作簿中的所有工作表上运行脚本。
我们将不胜感激!
答案 0 :(得分:0)
function getSheets(){
var ss = SpreadsheetApp.getActiveSpreadsheet(); //Gets the Spreadsheet
var sheets = ss.getSheets(); //Gets all the sheets in the spreadsheet
//For the number of sheets, do the following:
for (var i = 0; i < sheets.length; i++){
var currentSheet = sheets[i];
Logger.log(currentSheet.getRange(1, 1, 1, 1).getValue());
}
}
如果您不想从第一张纸开始,请更改“ i”的值。 如果您不希望脚本遍历所有工作表,则将sheets.length更改为固定值。
希望这会有所帮助。
编辑: 其他成员请随时编辑此帖子,以添加文档链接或对其进行更好的解释。 (有我需要参加的工作。)
答案 1 :(得分:0)
示例代码2:
SELECT id, aggregate_id, aggregate_update, detection_time
FROM report.report_table R1
WHERE table_name NOT LIKE 'AGGREGATE_ALERT_EVENT'
ORDER BY
MAX(aggregate_update) OVER (PARTITION BY aggregate_id),
MAX(detection_time) OVER (PARTITION BY aggregate_id) DESC,
aggregate_id,
detection_time DESC;
如果获得工作表引用- s ,则可以为数组中列出的每个工作表重复代码片段。