Все, что вам нужно сделать, это получить пользовательский интерфейс электронной таблицы и отправить приглашение, а затем выполнить его с помощью оператора if, чтобы убедиться, что нажата правильная кнопка, попробуйте следующее:
function getGoogleSpreadsheetAsExcel(){
try {
var ss = SpreadsheetApp.getActive();
var url = "https://docs.google.com/feeds/download/spreadsheets/Export?key=" + ss.getId() + "&exportFormat=csv";
var params = {
method : "get",
headers : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
muteHttpExceptions: true
};
var blob = UrlFetchApp.fetch(url, params).getBlob();
blob.setName(ss.getName() + ".csv");
var ui = SpreadsheetApp.getUi();
var prompt = ui.prompt('Enter email address:', '',ui.ButtonSet.OK_CANCEL);
if (prompt.getSelectedButton() == 'OK') {
var mail = prompt.getResponseText();
MailApp.sendEmail(mail, "Stock report of today", "The XLSX file is attached", {attachments: [blob]});
}
} catch (f) {
Logger.log(f.toString());
}
}
Кодзапрашивает адрес электронной почты:
var prompt = ui.prompt('Enter email address:', '',ui.ButtonSet.OK_CANCEL);
Затем выполняется быстрый оператор if, чтобы убедиться, что нажатая кнопка «ОК», если она отменена, она ничего не сделает.
if (prompt.getSelectedButton() == 'OK') {
var mail = prompt.getResponseText();
MailApp.sendEmail(mail, "Stock report of today", "The XLSX file is attached", {attachments: [blob]});
}
Как видите, var mail
используется в sendEmail()
, что означает, что он будет использовать все, что вы указали в качестве адреса электронной почты, в качестве получателя вашей электронной почты.