首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >工作表是没有定义的问题?

工作表是没有定义的问题?
EN

Stack Overflow用户
提问于 2022-10-18 23:20:55
回答 2查看 39关注 0票数 0

这个脚本在一个文档中工作,但在另一个文档中不起作用。我已经测试过修改选项卡名,使用数组和一堆if语句,真的不知道该去哪里。

最后,我要做的就是在文档中的每个选项卡上添加一行,减去以下几行:

代码语言:javascript
运行
复制
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);
   }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-18 23:34:15

在第30行上方插入一行

代码语言:javascript
运行
复制
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));
}
票数 1
EN

Stack Overflow用户

发布于 2022-10-18 23:28:26

修改要点:

  • 在您的脚本中,需要修改sheets[i].insertRowBefore(row);sheetsirow都没有读。
  • Ultimately, all I want to do is add a row above row 30 on every tab in my document minus a few:insertRowBefore可能是insertRowsBefore

当这些点反映在您的脚本中时,下面的修改如何?

发自:

代码语言:javascript
运行
复制
sheets[i].insertRowBefore(row);

至:

代码语言:javascript
运行
复制
sheet.insertRowsBefore(1, 30);
  • 通过这种修改,将30行插入到第1行。
  • 如果要在最后一行之后插入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中,下面的修改如何?
代码语言:javascript
运行
复制
- From

sheetsi.insertRowBefore(行);

代码语言:javascript
运行
复制
- To

if (sheet.getMaxRows() >= 30) { sheet.insertRowBefore(30);}

代码语言:javascript
运行
复制
- When the number of rows is less than 30, an error occurs. Please be careful about this.
  • 如果要排除工作表var exclude = ["Sheet2", "Sheet5"];,请将if(exclude.indexOf(sheet.getName())==-1) continue;修改为if (exclude.indexOf(sheet.getName()) != -1) continue;

参考资料:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74118389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档