【问题标题】:Spreadsheet stops working after creating a new sheet using a script and deleting exceeding col/rows使用脚本创建新工作表并删除超出的列/行后电子表格停止工作
【发布时间】:2016-03-23 16:22:12
【问题描述】:

每次我使用脚本创建新工作表时,我的电子表格会在一段时间后停止工作,我必须关闭浏览器选项卡。

问题发生在我正确创建新工作表并使用以下两个语句删除超出的列和行之后。

ss.deleteColumns(firstCol, colNb);
ss.deleteRows(firstRow, rowNb);

我已尝试对上述内容进行评论,但电子表格并未停止。

请问你有什么想法吗?

谢谢,

【问题讨论】:

  • 尝试使用 SpreadsheetApp.flush() 刷新该行之后的电子表格;

标签: google-apps-script google-sheets


【解决方案1】:

在不知道如何声明变量的情况下,很难说。通常,我将 ss 用于包含各个工作表的电子表格,而将 sheet 用于我正在处理的特定工作表。 如果您遇到这种情况,您可能正在尝试执行仅限于电子表格容器上的单个工作表的操作。

var ss = SpreadsheetApp.getActiveSpreadsheet(),
    sheet
;
sheet = ss.getActiveSheet();

此外,最好测试一下您的工作表是否包含您要删除的其他列和行。

if (sheet.getMaxColumns() > lastCol) {
  sheet.deleteColumns(lastCol +1, sheet.getMaxColumns() -lastCol);
}
if (sheet.getMaxRows() > lastRow) {
  sheet.deleteRows(lastRow +1, sheet.getMaxRows() -lastRow);
}

【讨论】:

  • 嗨@Reno Blair,感谢您的评论,并为迟到的回复道歉。实际上,工作表有我试图删除的其他列和行。事实上,我不得不提到这两种方法在电子表格冻结之前正确删除了超出的行和列。我删除了这两个函数,但我还没有尝试过,但了解可能导致它的原因会很有用。
猜你喜欢
  • 2020-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
  • 2019-01-15
  • 1970-01-01
  • 2020-06-28
  • 2021-06-09
相关资源
最近更新 更多