Google脚本编辑器:应用于除3个特定工作表之外的所有工作表

时间:2018-12-17 12:53:46

标签: javascript google-apps-script google-sheets

目前,此代码仅适用于名为“名称”的工作表,除3个工作表(模板,摘要和计数)外,我希望将其应用于所有工作表

代码摘要:如果单元格A5中的值(很快将更改为一个单元格范围)大于或等于15,则发送电子邮件。

function EqualValue() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Name");
  var value = sheet.getRange("A5").getValue();
  if(value >= "15") sendEmail(value)

};


function sendEmail(value){
  var recipient="Tester@test.com";
  var subject=" test subject " +value;
  var body="The Value is "+value;
  MailApp.sendEmail(recipient, subject, body);
};

我不确定如何最好地做到这一点。

预先感谢

1 个答案:

答案 0 :(得分:1)

要排除某些Google表格标签,而仅包括其他标签,您可以将要排除的表格标签名称放入数组中。

获取电子表格中的所有工作表标签,并循环浏览它们,检查每个名称。如果要检查的工作表标签的名称在要排除的工作表标签名称的列表中,则不要执行任何操作。

function EqualValue() {
  var allSheetTabs,i,L,thisSheet,thisSheetName,sheetsToExclude,value;

  sheetsToExclude = ['Template','Summary','Count'];

  var ss = SpreadsheetApp.getActiveSpreadsheet();

  allSheetTabs = ss.getSheets();

  L = allSheetTabs.length;

  for (i=0;i<L;i++) {
    thisSheet = allSheetTabs[i];
    thisSheetName = thisSheet.getName();

    //continue to loop if this sheet is one to exclude
    if (sheetsToExclude.indexOf(thisSheetName) !== -1) {continue;}

    value = thisSheet.getRange("A5").getValue();
    if(value >= "15") sendEmail(value)
  }