【发布时间】:2019-08-30 20:51:35
【问题描述】:
我在谷歌电子表格中有 50 行。用户使用这些行作为输入。但并未显示所有 50 行。当用户在 A2 单元格中输入数字时,只有该行数可见。我能够完成任务。但是for循环内部有一个问题。
我认为问题出在这一行
for(var i = 2;i
//This is my full code.
function onEdit(e) {
//Logger.log("Previous value was - " + e.oldValue);
//Logger.log("New value is - " + e.value);
var range = e.range;
var rowNumber = range.getRow();
var columnNumber = range.getColumn();
//Logger.log("Row - " + rowNumber);
//Logger.log("Column - " + columnNumber);
if (rowNumber == 2 && columnNumber == 1){
//Logger.log(e.value);
var fillingRows = e.value + 2;
//Hide rows from 3 to 51
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('3:51').activate();
spreadsheet.getActiveSheet().hideRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
Logger.log(fillingRows);
for(var i = 2; i < fillingRows; i++){
spreadsheet.getActiveSheet().showRows(i, 1);
}
}
}
当我把那条线改成这样的时候
for(var i = 2; i
然后它可以正常工作。但我不能在这里使用常数。 是不是可以在for循环中使用变量。
【问题讨论】:
-
但是有一个问题 问题是什么?有错误吗?它不做它应该做的事吗?请参阅 minimal reproducible example 和 edit 您的问题。
标签: javascript for-loop google-apps-script google-sheets google-sheets-macros