Sheet.hide()有时有时无效

时间:2019-12-11 21:19:43

标签: google-apps-script google-sheets

这是我的最终脚本

function archive2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getSheetByName('Lista');      // name of source sheet
  var sourceRange = source.getRange('A1:B');    // range to copy
  var destination1 = ss.getSheetByName('Sheet2'); // name of log sheet
  var lastRow = destination1.getLastRow();
  sourceRange.copyTo(destination1.getRange(5000 + 1, 1),{contentsOnly:true});
  var source = ss.getSheetByName('Sheet2');      // name of source sheet
  var sourceRange = source.getRange('H1:I5000');    // range to copy
  var destination2 = ss.getSheetByName('Sheet3'); // name of log sheet
  var lastRow = destination2.getLastRow();
  destination2.getRange('A1:B').activate();
  destination2.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
  var source = ss.getSheetByName('Sheet2');      // name of source sheet
  var sourceRange = source.getRange('H1:I5000');    // range to copy
  var destination3 = ss.getSheetByName('Sheet3'); // name of log sheet
  sourceRange.copyTo(destination3.getRange(1 + 1, 1),{contentsOnly:true});
  var spreadsheet = SpreadsheetApp.getActive();
  var source = ss.getSheetByName('Sheet3');      // name of source sheet
  var sourceRange = source.getRange('A1:B5000');    // range to copy
  var destination4 = ss.getSheetByName('Sheet2'); // name of log sheet
  var lastRow = destination4.getLastRow();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet2'), true);
  spreadsheet.getRange('A:B').activate();
  spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
  sourceRange.copyTo(destination4.getRange('A:B'),{contentsOnly:true});
  var hide1 = ss.getSheetByName('Sheet2');
  hide1.hideSheet();
  var hide2 = ss.getSheetByName('Sheet3');
  hide2.hideSheet();
}

基本上,它会生成一些数据的静态副本,稍后需要汇总。这部分工作正常。

最后一行是行不通的,基本上我想隐藏Sheet2和Sheet3,它们是进行计算的辅助工作表。

最好的方法是在不取消隐藏这些工作表的情况下进行所有计算,但是我无法找到解决方案(因此,如果有人知道执行该操作所要做的更改,那将是很好的选择),所以我m在脚本运行后搜索至少隐藏它们的方法。

在这些行中,有时它们都是隐藏的,有时只是其中的1条(随机存在于sheet2和sheet3之间,我想这与“活动”有关,因此我尝试依次激活这两个行,但仍然不起作用)。

您能帮我每次都隐藏起来(或使其完全不隐藏任何东西)而没有失败吗?谢谢

https://docs.google.com/spreadsheets/d/1GREsQNrDAaLqOROwAixajK6tpTRGOhqGHo0kfyyyuGw/edit#gid=0

0 个答案:

没有答案