计算作为 Google Apps 脚本中函数一部分的复选框数量?

问题描述 投票:0回答:1

我正在尝试将复选框计数集成到以下 MailApp.sendEmail 函数中,以显示针对特定配额的复选框数量。要计数的复选框位于 A 列中。如果有任何指导来对 MailApp.sendEmail 函数中的复选框进行计数或作为单独的函数但可检索,我将不胜感激。我发现这在应用程序脚本中具有挑战性。

var quotaLeft = getRemainingDailyQuota();
Logger.log(quotaLeft);

if(countOfCheckboxes > quotaLeft){
Browser.msgBox("You have " + quotaLeft + " and you're trying to send " + countOfCheckboxes + " emails.       Emails were not sent.);
}

这是计算复选框数量的独立函数,但有没有办法在上述函数中执行此操作?

function countOfCheckboxes(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('SHEET_NAME');
  var range = sheet.getRange("a:a");
  var values = range.getValues();
  var count = 0;
  
  for (var i = 0; i < values.length; i++) {
    if (values[i][0] === true) {
      count++;
    }
  }
  return count;
}
//Logger.log(count)
google-apps-script checkbox count
1个回答
0
投票

您可以像这样组合您提供的片段:

function countOfCheckboxes() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('SHEET_NAME');
  var range = sheet.getRange("a:a");
  var values = range.getValues();
  var quotaLeft = getRemainingDailyQuota();
  var count = 0;

  for (var i = 0; i < values.length; i++) {
    if (values[i][0] === true) {
      count++;
    }
  }

  if (count > quotaLeft) {
    Browser.msgBox("You have " + quotaLeft + " and you're trying to send " + count + " emails. Emails were not sent.");
    return;
  }
  var emailAddress = "[email protected]";
  var subject = "Your Subject";
  var body = "Your Body";
  GmailApp.sendEmail(emailAddress, subject, body);
}

我假设

getRemainingDailyQuota()
已经在工作,因为您没有在问题中包含它的片段。我只是输入一个随机数进行测试。

这是我配额不够时得到的:

https://i.stack.imgur.com/GvDfk.png

这是我发送电子邮件时收到的信息:

https://i.stack.imgur.com/tclbl.jpg

© www.soinside.com 2019 - 2024. All rights reserved.