google-apps-script - 为什么 Google 表格在发送电子邮件时缺少最后一封电子邮件?
问题描述
我的 google 表格会将表格的 PDF 副本通过电子邮件发送到 4 封电子邮件列表(在单元格 L5:L8 中),但似乎单元格 L8 中的电子邮件从未被选中,记录器在数组中显示它!. 查看我的代码并帮助解决问题!?我怀疑我的 FOREACH 循环有问题。
function onEdit2(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var r = sheet.getRange('L11').getValue();
if (r == "Send") {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var ssID = ss.getId();
var sheet = ss.getActiveSheet();
var sheetName = ss.getName();
var key = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
var token = ScriptApp.getOAuthToken();
var setcolor= SpreadsheetApp.getActiveSheet().setTabColor("#0000A0");
var emails= sheet.getRange("L5:L8").getValues();
var subject = "Daily report ";
var body = "Please find the attached" +" "+ key ;
var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export?"
+ "format=xlsx" + "&gid="+sheetgId+ "&portrait=true" +
"&exportFormat=pdf";
var tempSheet = ss.insertSheet("tempSheet"); // Added
sheet.getRange("A1:J27").copyTo(tempSheet.getRange(1, 1)); // Added
SpreadsheetApp.flush(); // Added
var sheetgId = tempSheet.getSheetId(); // Added
var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export?" + "format=xlsx" + "&gid="+sheetgId+ "&portrait=true" + "&exportFormat=pdf";
var result = UrlFetchApp.fetch(url, {headers: {'Authorization': 'Bearer ' + token}});
var contents = result.getContent();
emails.forEach(function(email){
MailApp.sendEmail(email.toString(),sheetName ,body, {attachments: [{fileName: sheetName + ".pdf", content: contents, mimeType: "application//pdf"}]});
ss.deleteSheet(tempSheet); // Added
})
}
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for ( var i = 0 ; i<sheets.length ; i++) {
var sheet1 = sheets[i];
sheet1.getRangeList(['L3','L11']).clearContent();
}
}
解决方案
推荐阅读
- macos - Xamarin Mac 显示弹出窗口
- java - 离线同步文件:上传 ArrayList 或在 for 循环中上传
- python - TextField 对象不可调用 | Python Django 和身份验证 | 默认文件不起作用
- sql - 在特定组之后在 SQL 输出中动态创建行
- javascript - 添加新行时在javascript上添加不起作用
- mediawiki - 如何在基于 MediaWiki 的 wiki 中搜索使用模板“underconstruction”并标有“abcd”的页面?
- java - 如何使用基本身份验证创建具有适当权限的用户以列出 kubernetes v1.13 中的命名空间
- c++ - c++ Grpc::CompletionQueue 构造速度在14k左右?
- sql - 如何为现有表中的每一行插入索引
- java - 如何通知客户端有关 Rest Endpoint 的更改