如何使相同的脚本适用于电子表格中的所有标签页(Google Apps 脚本)



我的Googlesheet有多个工作表,我不希望这个脚本应用于整个电子表格,如果我为每个工作表编写一个脚本,脚本编辑器将达到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);
}

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

试试这个:

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);
  }
}

最新更新