【发布时间】:2021-03-24 16:56:34
【问题描述】:
此代码运行良好,但发送整个工作表,我只想发送当前选项卡/工作表。如何使它仅捕获当前选项卡列 A-H 而不是带有所有选项卡的整个 google 工作表?
function send_report_email(spreadsheetId) {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheetId = spreadsheet.getId();
var file = DriveApp.getFileById(spreadsheetId);
var url = 'https://docs.google.com/spreadsheets/d/'+spreadsheetId+'/export?format=xlsx';
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + token
}
});
var fileName = (spreadsheet.getName()) + '.xlsx';
var blobs = [response.getBlob().setName(fileName)];
var receipient = "andrew@barrelrace.com"
var subject = "xxxx"
var emailbody = "first line \n\nsecond line \n\nCheers!,"
MailApp.sendEmail(receipient, subject, emailbody, {attachments: blobs});
}
【问题讨论】:
-
尝试获取工作表 ID 并将其作为
gid参数附加到您的 URL - 有关详细信息,请参阅 this Stack Overflow question's 答案。 -
你能用上面的代码给我一个例子吗?
-
我想出了将 gid 放在哪里......但现在我很好奇我是否可以让它只下载该特定选项卡的 A 到 H 列?
-
我可能会尝试将您想要的列复制到新的临时工作表,获取该工作表的 GID,导出 Excel 文件,然后删除临时工作表
标签: google-apps-script google-sheets