- Вы хотите закрыть боковую панель, которая уже открыта.
- Вы хотите достичь выше с помощью другой функции, которая не является скриптом боковой панели.
Если мое понимание верно, как насчет этого обходного пути? В этом обходном пути боковая панель закрывается перезаписанной временной боковой панелью. Я думаю, что есть несколько обходных путей для вашей ситуации. Поэтому, пожалуйста, подумайте об этом как об одном из них.
Модифицированный скрипт:
Когда это отражается на вашем сценарии, измененный сценарий становится следующим:
var ui = SpreadsheetApp.getUi();
var response = ui.alert('Confirm Sending','You are about to send this order to '+ supplier + ' (' + emailAddress + ') - are you sure?', ui.ButtonSet.YES_NO_CANCEL);
// Process the user's response.
if (response == ui.Button.YES) {
var subject = "Order for Tomorrow ";
MailApp.sendEmail(emailAddress,subject + dayname + " - " + Utilities.formatDate(tomorrow, "GMT+2", "d MMM") + "" ,emailBody, {to: emailAddress,cc: ccEmailAddress, htmlBody: emailBody});
}
else if (response == ui.Button.NO) {
//if user chooses NO then ignore and continue the loop
} else {
//close the sidebar
var html = HtmlService.createHtmlOutput("<script>google.script.host.close();</script>"); // Added
SpreadsheetApp.getUi().showSidebar(html); // Added
//cancel the script
return;
}
Примечание:
- Когда этот модифицированный скрипт запускается, когда главная боковая панель не открыта, временная боковая панель открывается на мгновение. Если вы не хотите делать это, например, пожалуйста, установите существование основной боковой панели с помощью PropertiesService, когда главная боковая панель открыта. Используя это, когда главная боковая панель не открыта, можно запретить открытие временной боковой панели.
Ссылки:
Если этот обходной путь оказался не тем, что вы хотите, извините.