Привет и спасибо заранее!
Я создал боковую панель в электронной таблице Google с кнопкой.Нажатие на кнопку запустит функцию сервера.Эта функция показывает окно предупреждения и вставляет текст в определенную ячейку.
Рабочий пример:
https://docs.google.com/spreadsheets/d/1Mv-0YRSJJpwSaRh_xAeZDtVqL-P-e5nS80fUJIq_CJ4/edit?usp=sharing
Теперь самое сложное: я использую этот код на другом листе, которым я не могу поделиться, потому что он содержит конфиденциальные данные.И на этом листе функция запускается только тогда, когда я удаляю или // деактивирую строку с вызовом alert ().
Я знаю, что найти такие ошибки довольно сложно, но, возможно, у кого-то есть идея, что этоможет быть?
CODE.GS
function onOpen() {
// Add a custom menu to the spreadsheet.
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Custom Menu')
.addItem('myToDoPanelLabel', 'showTestPanel')
.addToUi();
}
function insert(value) {
SpreadsheetApp.getUi().alert("Message"); //with this line it only works in test sheet but not in the original sheet
var thisID="1Mv-0YRSJJpwSaRh_xAeZDtVqL-P-e5nS80fUJIq_CJ4";
var ss = SpreadsheetApp.openById(thisID).getSheetByName("Tab1");
ss.getRange(1,2).setValue("New Txt");
}
function showTestPanel() {
var template = HtmlService.createTemplateFromFile('panel');
var htmlOutput = template.evaluate()
.setTitle('ToDoPanel');
SpreadsheetApp.getUi().showSidebar(htmlOutput);
}
PANEL.HTML
<script>
window.mark = function() {
google.script.run.insert();
};
</script>
<button onclick='mark()'>click me</button>
Редактировать: Суть проблемы в том, что диалоговое окно не отображается!При вызове alert () код останавливается (время ожидания можно увидеть в журнале сценариев «Время ожидания при ответе пользователя»).С предложенным ниже решением оно будет выполнено, но все равно не появится пользовательский диалог.Это какая-то проблема с разрешением?