У меня есть send
функция следующим образом отсюда :
function send(){
var ui = SpreadsheetApp.getUi();
var bccSend = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('main_gen').getRange(2,2).getValue();
var bccSendReplace = bccSend.toString().replace(/,/g,"<br>");
const str = 'You are about to send this to the following email address(es): \n\n' + bccSendReplace + '\n\n Click OK to send, otherwise, close this box or click Cancel to abort.';
const html = `
<b>${str}</b><br>
<input type="button" value="ok" onClick="google.script.run.withSuccessHandler(() => google.script.host.close()).clickOk()">
<input type="button" value="cancel" onClick="google.script.run.withSuccessHandler(() => google.script.host.close()).clickCancel()">
`;
ui.showModalDialog(HtmlService.createHtmlOutput(html), 'sample');
}
У меня тогда есть функция, когда нажимается OK. Если я просто запускаю эту функцию, она запускается, как ожидалось, и ошибок нет. Однако при нажатии кнопки «ОК» эта функция не будет запущена.
function clickOK() {
var ui = SpreadsheetApp.getUi();
copyDataFromForm();
var sendDetails = getMeta(); Logger.log(sendDetails);
//var officeSelection = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('main_gen').getRange(2, 1).getValue();
var subject = gen.setSubjectLine(sendDetails); Logger.log(subject);
var BCC = '';
var bccSend = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('main_gen').getRange(2,2).getValue();
if(bccSend == ''){bccSend = sendDetails[6];}
var toSend = main(sendDetails);//CreateHTML();
var image = toSend[2];
var attachment = [toSend[4].getAs(MimeType.PDF)];
for(var i = 0; i<image.length; i++)
{
attachment.push(image[i]);
}
MailApp.sendEmail(sendDetails[7], subject, null, {
name: 'Test ' + sendDetails[0].split(",", 1),
htmlBody:toSend[3],
inlineImages: toSend[1],
attachments: attachment,
cc:bccSend,
replyTo:sendDetails[7]
});
ui.alert('Message has been sent.');
}
И вот эта функция используется для нажатия кнопки «Отмена». Опять же, если я запускаю эту функцию самостоятельно, она работает нормально. Но он не вызывается при нажатии кнопки Отмена.
function clickCancel() {SpreadsheetApp.getUi().alert('Send Aborted.');}
Есть идеи, что я делаю неправильно? Спасибо!
.... ОБНОВЛЕНИЕ .... Я исправил орфографическую ошибку (она была правильной в скрипте, просто случайно скопировал старую часть кода. Это ошибка, которую я получаю в после нажатия кнопки Cancel
.