- Вы хотите создать поле выбора и поместить значения из столбца «А» электронной таблицы.
- Когда выбрано значение из поля выбора, вы хотите получить его.
Если мое понимание верно, как насчет этой модификации? Я думаю, что для вашей ситуации есть несколько ответов, поэтому, пожалуйста, подумайте об этом как об одном из них.
Последовательность действий этого модифицированного скрипта следующая.
- Открытие диалогового окна.
- Нажмите кнопку «Выпадающий».
- С помощью
google.script.run
запустите функцию getValuesFromSpreadsheet()
на стороне скрипта Google Apps.
- В
getValuesFromSpreadsheet()
значения извлекаются из электронной таблицы и возвращаются в Javascript.
- В
withSuccessHandler()
возвращенные значения извлекаются. Используя значения, создается поле выбора.
- Когда выбрано значение в поле выбора,
selected()
запускается и получает выбранное значение.
Когда отражается вышеуказанный поток, модифицированный скрипт выглядит следующим образом.
ГАЗ:
Добавьте следующий скрипт Google Apps в CustomMenu.gs
.
function getValuesFromSpreadsheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
return sheet.getRange(1, 1, sheet.getLastRow(), 1).getValues(); // Retrieve values and send to Javascript
}
- В этом примере сценария значения извлекаются из «Лист1» активной электронной таблицы. Значения находятся в столбце «А».
- Если вы хотите получить данные из другого диапазона и листа, пожалуйста, измените это.
HTML:
Пожалуйста, добавьте следующий Javascript в NewComponentForm.html
.
<script>
function loadManufacturers() {
google.script.run.withSuccessHandler(function(ar) {
let select = document.createElement("select");
select.id = "select1";
select.setAttribute("onchange", "selected()");
document.getElementById("myDropdown").appendChild(select);
ar.forEach(function(e, i) {
let option = document.createElement("option");
option.value = i;
option.text = e;
document.getElementById("select1").appendChild(option);
});
}).getValuesFromSpreadsheet();
};
function selected() {
const value = document.getElementById("select1").value;
console.log(value);
}
</script>
- Используйте
google.script.run
для извлечения значений из электронной таблицы.
- Используя
withSuccessHandler
, получить значения из Google Apps Script.
- При нажатии кнопки «Раскрывающийся список» создается поле выбора.
- Выбранное значение можно увидеть на консоли.
Примечание:
- Это простой пример сценария. Поэтому, пожалуйста, измените его для вашей ситуации.
Ссылки:
Если я неправильно понял ваш вопрос, извините.