У меня есть книга Google Sheets, которую я использую для отслеживания корректурных заданий. Существует лист состояния, который использует запросы для извлечения информации об активных работах из листа журнала работ, а затем выполняет некоторые вычисления, чтобы показать мой прогресс.
Снимок экрана: Таблица состояния с боковой панелью
Ссылка: Копия листа состояния только для просмотра
Я создал пользовательскую боковую панель для выбора строки по приоритету (столбец B), а затем легко ввел прочитанные страницы (столбец) I) и потраченных минут (столбец L), но я не знаю, как применить новые значения к листу. Я также хотел бы изменить боковую панель, чтобы выбрать приоритет (столбец B) из раскрывающегося списка вместо ввода значения.
Вот то, что у меня есть для UpdateSidebar. html:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body bgcolor="#039EB2">
<font face="arial" color="white">
<b>Select a job by Priority and enter the updated values to apply.</b><br><br>
<!-- Create input fields to accept values from the user -->
Job Priority:<br>
<input type="text" id="Priority"><br><br>
<!-- I would like this to be a dropdown with values from B13:B instead of text input -->
Pages Read:<br>
<input type="text" id="Pages"><br><br>
Minutes Spent:<br>
<input type="text" id="Minutes"><br><br>
<!-- Create a button to update values -->
<button onclick='saveUpdate()'>Update Job Status</button><br><br><br>
<script>
function saveUpdate() {
//Get the value of the input fields
var priority = document.getElementById("Priority").value
var pages = document.getElementById("Pages").value
var minutes = document.getElementById("Minutes").value
//Log the value of input fields in the web browser console (usually used for debugging)
console.log(priority, pages, minutes)
//Send the values as arugments to the server side function
google.script.run.applyName(priority, pages, minutes)
}
</script>
</font>
</body>
</html>
А вот мой текущий код:
function showSidebar() {
var html = HtmlService
.createHtmlOutputFromFile('UpdateSidebar')
.setTitle('Status Update Sidebar')
.setWidth(200);
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.showSidebar(html);
}
function applyName(priority, pages, minutes){
var ss = SpreadsheetApp.getActive()
var sheetStatus = ss.getSheetByName("Status")
var sheetLog = ss.getSheetByName("Job Log")
<!-- //Whatever needs to happen to:
//Select row with priority in Column B
//Apply pages to Column I
//Apply minutes to Column L -->
}
Я довольно новичок в кодировании в Google Sheets, поэтому я был бы очень признателен за любую помощь. Спасибо!