我有一个脚本,每天在电子表格上完成工作后,每晚都会删除约15张纸底部的空行。我之所以这样做,是因为经常(但并非总是)在底部留有空行,这有助于自动清理它,而无需我担心。当底部有空行时,它工作得很好,但是当没有空行且工作表中的数据一直向下填充时,它会给我一个错误,并且不会继续到下一个工作表。我认为这与
有关lastRow + 1
但是我不知道如何更改它以使其仍然正常运行。我的主要问题是,如何仍然可以正常运行此代码(删除列出的工作表上的空行),但是如果没有任何空行,那么它只会转到下一个工作表而不是抛出错误?
// DELETE EMPTY ROWS AT BOTTOM
function RemoveEmptyRows() {
var ss = SpreadsheetApp.openById('spreadsheetId');
var arrayOfSheetTabNames, i, L, sheet;
arrayOfSheetTabNames = [
"Sheet1",
"Sheet2",
"Sheet3",
"Sheet4",
"Sheet5",
"Sheet6",
"Sheet7",
"Sheet8",
"Sheet9",
"Sheet10",
"Sheet11",
"Sheet12",
"Sheet13",
"Sheet14",
"Sheet15"
]
L = arrayOfSheetTabNames.length;
for (i = 0; i < L; i++) {
sheet = ss.getSheetByName(arrayOfSheetTabNames[i]);
var maxRows = sheet.getMaxRows();
var lastRow = sheet.getLastRow();
sheet.deleteRows(lastRow + 1, maxRows - lastRow);
}
};
谢谢您的帮助!
答案 0 :(得分:1)
如果我的理解是正确的,那么该修改如何?例如,根据您的情况,如何将setx -m JAVA_HOME "C:\Program Files\Java\jdk1.8.0_XX"
与lastRow
进行比较?
请进行以下修改,然后重试。
从:maxRows
至:
sheet.deleteRows(lastRow + 1, maxRows - lastRow);
如果我误解了您的问题,而这不是您想要的结果,我深表歉意。