這里真的很困惑 - 這個腳本在一個檔案中作業,但在另一個檔案中不起作用。我已經測驗了更改選項卡名稱,使用陣列與一堆 if 陳述句,真的不知道該去哪里。
最終,我要做的就是在檔案中的每個選項卡上的第 30 行上方添加一行減去一些:
function insertRow() {
// Retrieve the spreadsheet
const ss = SpreadsheetApp.getActiveSpreadsheet();
var allsheets = ss.getSheets();
var exclude = ["Sheet2", "Sheet5"];
for(var s in allsheets){
var sheet = allsheets[s];
// Stop iteration execution if the condition is meet.
if(exclude.indexOf(sheet.getName())==-1) continue;
sheets[i].insertRowBefore(row);
}
}
uj5u.com熱心網友回復:
修改點:
- 在你的腳本中,
sheets[i].insertRowBefore(row);是需要修改的。sheets,i,row未宣告。 - 從
Ultimately, all I want to do is add a row above row 30 on every tab in my document minus a few:,insertRowBefore可能是insertRowsBefore。
當這些點反映在你的腳本中時,下面的修改怎么樣?
從:
sheets[i].insertRowBefore(row);
至:
sheet.insertRowsBefore(1, 30);
- 通過這種修改,第 1 行插入了 30 行。
- 如果要在最后一行之后插入 30 行,請使用
sheet.insertRowsAfter(sheet.getLastRow(), 30);.
筆記:
從您的顯示腳本中,我認為您可能想要使用
var exclude = ["Sheet2", "Sheet5"];. 而且,從I jwant to add a SINGLE row above row #30.. I was doing "30,1" and it wasn't working there either,在這種情況下,如何進行以下修改?從
sheets[i].insertRowBefore(row);至
if (sheet.getMaxRows() >= 30) { sheet.insertRowBefore(30); }當行數小于 30 時,會發生錯誤。請注意這一點。
如果要排除作業表
var exclude = ["Sheet2", "Sheet5"];,請修改if(exclude.indexOf(sheet.getName())==-1) continue;為if (exclude.indexOf(sheet.getName()) != -1) continue;.
參考:
- insertRowsBefore(beforePosition, howMany)
uj5u.com熱心網友回復:
在第 30 行上方插入一行
function insertRowBefore30() {
const ss = SpreadsheetApp.getActive();
const shts = ss.getSheets();
var exclude = ["Sheet2", "Sheet5"];
shts.filter(sh => !~exlude.indexOf(sh.getName())).forEach(sh => sh.insertRowBefore(30));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/517730.html
上一篇:Django-聚合成陣列
