Чтобы решить вашу проблему, вам нужно будет использовать объекты событий для мониторинга отредактированной ячейки.
Фрагмент
function onEditTrigger(e) {
var cellEdited = e.range.getValue();
if (cellEdited == "SQL") {
loadsqlSideBar();
}
else if (cellEdited == "ORACLE") {
loadoracleSideBar();
}
else if (cellEdited == "IMANIS") {
loadimanisSideBar();
}
}
function loadsqlSideBar()
{
var userInterface=HtmlService.createHtmlOutputFromFile('sql');//sidebar for html and formBar for form
SpreadsheetApp.getUi().showSidebar(userInterface);
}
function loadoracleSideBar()
{
var userInterface=HtmlService.createHtmlOutputFromFile('oracle');//sidebar for html and formBar for form
SpreadsheetApp.getUi().showSidebar(userInterface);
}
function loadimanisSideBar()
{
var userInterface=HtmlService.createHtmlOutputFromFile('imanis');//sidebar for html and formBar for form
SpreadsheetApp.getUi().showSidebar(userInterface);
}
Пояснение
Функция onEditTrigger
- это устанавливаемый триггер, который означает, что он будет срабатывать при обнаружении действия edit
. Основное различие между устанавливаемым и простым триггером заключается в том, что они могут вызывать службы, требующие авторизации, и обеспечивают большую гибкость. Нет необходимости указывать диапазон J4:P20
, так как вы соберете отредактированную ячейку и проверите, является ли ее значение одним из искомых.
Поэтому в приведенном выше сценарии используется e
объект события, чтобы определить, какая ячейка была отредактирована, а затем на основе ее значения загружает боковую панель.
Установка триггера
Чтобы иметь устанавливаемый триггер, вам потребуется установить его. Для этого вам нужно будет go задействовать триггеры вашего проекта, щелкнув этот значок.
После этого вам нужно будет создать новый триггер со следующими параметрами:
Примечание
Также не забудьте использовать правильный путь для структуры if
.
Ссылка