我正在尝试生成一封包含特定工作表的PDF附件的电子邮件,而不一定是活动工作表。我尝试引用特定的工作表名称和数字,但无济于事,它选择了标题为“AMDashboard_English”的表1。请帮忙。
function CreatePDF() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("AMDashboard_English");
var sheet = ss.getSheetByName("AMDashboard_English");
Logger.log(sheet.getName());
var url = "https://docs.google.com/spreadsheets/d/SS_ID/export?".replace("SS_ID", sheet.getId());
var url_ext = 'exportFormat=pdf&format=pdf' // export as pdf / csv / xls /
var token = ScriptApp.getOAuthToken();
var sheets = ss.getSheets();
var blobs = [];
var i=0
var response = UrlFetchApp.fetch(
url + url_ext + sheets[i].getSheetId(), {
headers: {'Authorization': 'Bearer ' + token}
}
);
blobs[i] = response.getBlob().setName(sheets[i].getName() + '.pdf');
DriveApp.createFile(blobs[i]);
return blobs[i];
}
网址应采用以下格式:
https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/export?format=[PDF]&gid=[SHEET_ID]
我发现代码实际上按计划工作。它无法工作的原因是我有另一组代码引用相同的var,显然混淆了google脚本。一切都很好。谢谢。