我正在尝试将复选框计数集成到以下 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)
您可以像这样组合您提供的片段:
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()
已经在工作,因为您没有在问题中包含它的片段。我只是输入一个随机数进行测试。
这是我配额不够时得到的:
这是我发送电子邮件时收到的信息: