Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何将代码应用于google工作表上的所有选项卡_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 如何将代码应用于google工作表上的所有选项卡

Google apps script 如何将代码应用于google工作表上的所有选项卡,google-apps-script,google-sheets,Google Apps Script,Google Sheets,谷歌脚本新手。。。所以我道歉 我有下面的代码工作。。。然而,我还有另外十个标签,这需要应用到。。。有没有一种写这篇文章的方法,这样你就不必引用每一张活跃的工作表了 其思想是,如果行和列中存在某个值,则自动隐藏这些行和列 function onOpen() { var s = SpreadsheetApp.getActive().getSheetByName('O4'); s.showRows(1, s.getMaxRows()); s.getRange('BQ:BQ') .

谷歌脚本新手。。。所以我道歉

我有下面的代码工作。。。然而,我还有另外十个标签,这需要应用到。。。有没有一种写这篇文章的方法,这样你就不必引用每一张活跃的工作表了

其思想是,如果行和列中存在某个值,则自动隐藏这些行和列

function onOpen()
{
  var s = SpreadsheetApp.getActive().getSheetByName('O4');
  s.showRows(1, s.getMaxRows());

  s.getRange('BQ:BQ')
    .getValues()
    .forEach( function (r, i) {
    if (r[0] == 'Done') 
      s.hideRows(i + 1);
    });

  var b = SpreadsheetApp.getActive().getSheetByName('O4');
b.showColumns(1, b.getMaxColumns());
b.getRange('135:135')
    .getValues()[0]
    .forEach(function (r, i) {
        if (r && r == 'N') b.hideColumns(i + 1)
    });

    var s = SpreadsheetApp.getActive().getSheetByName('OG3');
  s.showRows(1, s.getMaxRows());

  s.getRange('BQ:BQ')
    .getValues()
    .forEach( function (r, i) {
    if (r[0] == 'Done') 
      s.hideRows(i + 1);
    });

  var b = SpreadsheetApp.getActive().getSheetByName('OG3');
b.showColumns(1, b.getMaxColumns());
b.getRange('135:135')
    .getValues()[0]
    .forEach(function (r, i) {
        if (r && r == 'N') b.hideColumns(i + 1)
    });
}

您可以使用此代码段在工作表中的所有选项卡上循环

var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
sheets.forEach(function (sheet) {
  callYourFunction(sheet)
})
如果需要在特定的工作表上应用代码,请执行此操作

var sheets = ['SheetA', 'SheetB', 'SheetG', 'SheetH', 'SheetM']
for (var i = 0; i < sheets.length; i++) {
  var sheetName = sheets[i]
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  if (sheet != null) {
    callYourFunction(sheet)
  }
}
var sheets=['SheetA','SheetB','SheetG','SheetH','SheetM']
对于(变量i=0;i

希望对您有所帮助

您可以使用此代码片段循环工作表中的所有选项卡

var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
sheets.forEach(function (sheet) {
  callYourFunction(sheet)
})
如果需要在特定的工作表上应用代码,请执行此操作

var sheets = ['SheetA', 'SheetB', 'SheetG', 'SheetH', 'SheetM']
for (var i = 0; i < sheets.length; i++) {
  var sheetName = sheets[i]
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  if (sheet != null) {
    callYourFunction(sheet)
  }
}
var sheets=['SheetA','SheetB','SheetG','SheetH','SheetM']
对于(变量i=0;i

希望这有助于

在包含的项目中编写的脚本可以访问电子表格中的所有工作表。这就是为什么建议在
onEdit(e)
函数
if(e.range.getSheet().getName()!='Your sheet Name')返回的开头附近有类似的内容以便与代码无关的工作表可以快速通过。在包含的项目中编写的脚本可以访问电子表格中的所有工作表。这就是为什么建议在
onEdit(e)
函数
if(e.range.getSheet().getName()!='Your sheet Name')返回的开头附近有类似的内容以便与代码无关的工作表可以快速通过它。