google-apps-script - 将一张纸附加到另一张纸中提到的邮件ID
问题描述
- 我有一个包含多张工作表的电子表格,我有另一个工作表,其中 A 列包含邮件 ID,B 列包含工作表名称。
- 每当收到一张纸时,我都会使用相关的邮件 ID 检查必须将纸贴在哪里
- 例如,对于工作表名称 10001515ADC,我必须将工作表附加到邮件 ID guru3291@gmail.com 并邮寄。同样对于 10003810ADC,邮件 ID 是 kumaraguru@aai.aero
我工作的代码
function email(){
var heet= SpreadsheetApp.openById('1mbFTGxhvSbbttfkaezJpfU1TXNtJUPBvujREPi3yVwo');
var mid = heet.getSheetByName('Sheet1');
var getNames = mid.getDataRange().getValues();
getNames.shift();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var sheetsObj = {};
for (var i = 1; i < sheets.length; i++) {
sheetsObj[sheets[i].getSheetName()] = sheets[i];
}
Logger.log(sheetsObj);
for (var i = 0; i < getNames.length; i++) {
var r = getNames[i];
if (r[1] in sheetsObj) {
var ssID = ss.getId();
Logger.log(ssID);
var c =r[1];
var p =ss.getSheetByName(c);
p.activate;
Logger.log(p);
var sheetgId = ss.getActiveSheet().getSheetId();
Logger.log(sheetgId);
var sheetName = ss.getName();
Logger.log(sheetName);
}
var token = ScriptApp.getOAuthToken();
var email = r[0];
var subject = "Important Info!";
var body = "Latest Recency Report \n\nRegards,\n VOTV-ATM-OPS";
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();
MailApp.sendEmail(email,subject ,body, {attachments:[{fileName:sheetName+".pdf", content:contents,
mimeType:"application//pdf"}]});
}
}
解决方案
您的脚本发送了错误的表格,因为您的activate
请求未通过
这是因为您指的是方法activate而不调用它
- 要调用方法,您需要引用它,包括
()
括号 - 所以,修改
p.activate;
为p.activate();
另请参阅Javascript 中的 Fucniton 调用。
边注
您无需激活工作表即可使用它。
线条
var p =ss.getSheetByName(c);
p.activate();
var sheetgId = ss.getActiveSheet().getSheetId();
可以替换为
var p =ss.getSheetByName(c);
var sheetgId = p.getSheetId();
推荐阅读
- java - 如何在 Java 中将文本写入/打印到控制台(标准输出)
- javascript - table.innerHTML = ""; 没有正确清除 HTML 表格
- javascript - 我如何以随机顺序访问数组中的链接而不重复选择的最后一个链接?
- java - 使用 google-cloud 库执行 BigQuery 查询时出现异常
- python - Div(也带id)中的下拉菜单(带id)设置值问题
- sql - 具有多个条件的 SQL 累积和
- javascript - 为什么加载文本不显示在 vue js 中?
- flask - Flask 会话数据在 localhost 测试中有效,但在主服务器中无效
- codespaces - 在 GitHub Codespaces 中,有没有办法从命令行获取所有端口和本地 URL
- java - 如何在 Spring Boot Application 中使用 Rest Template 来管理多个端点?