如何使相同的脚本适用于电子表格中的所有选项卡(Google Apps脚本)

时间:2017-02-08 11:29:38

标签: google-apps-script

我的Google工作表有多个工作表,我不希望这个脚本应用于整个电子表格,如果我为每个工作表编写一个脚本,脚本编辑器将达到1000行。

function onEdit(){ 
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SheetName1");
  var num= sheet.getRange("N30").getValue();
  if((num%4)>2)
 {
    num = ((Math.floor((num/4))) + 1)*4;
  }
 else
 {
    num = Math.floor((num/4))*4;
  }
  sheet.getRange("N30").setValue(num);
}

如何让相同的脚本适用于电子表格中的多个工作表(具有不同的SheetNames)?

1 个答案:

答案 0 :(得分:2)

试试这个:

function onEdit()
{ 
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
  var totalSheets = sheets.length;

  for(var i=0;i<totalSheets;i++)
  {
    var num= sheets[i].getRange("N30").getValue();
    if((num%4)>2)
    {
      num = ((Math.floor((num/4))) + 1)*4;
    }
    else
    {
      num = Math.floor((num/4))*4;
    }

    sheets[i].getRange("N30").setValue(num);
  }
}