Скрипты Google Таблиц предоставляют мощные возможности автоматизации, позволяющие повысить производительность и оптимизировать рабочие процессы. Одним из важных аспектов создания сценариев является создание функций меню, доступ к которым можно получить непосредственно из пользовательского интерфейса Google Sheets. В этой статье мы рассмотрим различные методы указания параметров функций меню в скриптах Google Sheets, а также приведем примеры кода.
Метод 1: использование подсказки пользовательского интерфейса
Вы можете использовать метод Browser.inputBox(), чтобы запросить у пользователя вводимые значения. Вот пример:
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Function with Parameters', 'functionWithParameters')
.addToUi();
}
function functionWithParameters() {
var userInput = Browser.inputBox('Enter a value:');
// Process the user input
}
Метод 2: использование диалоговых окон
Вы можете использовать диалоговые окна для отображения пользовательских форм для ввода параметров. Вот пример использования SpreadsheetApp.getUi().showModalDialog():
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Function with Parameters', 'functionWithParameters')
.addToUi();
}
function functionWithParameters() {
var htmlOutput = HtmlService.createHtmlOutputFromFile('parameterForm')
.setWidth(300)
.setHeight(200);
SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Parameter Input');
}
// parameterForm.html
<form>
Input: <input type="text" name="inputValue" id="inputValue">
<input type="button" value="Submit" onclick="submitForm()">
</form>
<script>
function submitForm() {
var inputValue = document.getElementById('inputValue').value;
google.script.run.processInput(inputValue);
google.script.host.close();
}
</script>
Метод 3: использование активной ячейки в качестве параметра
Вы можете использовать текущую активную ячейку на листе в качестве параметра. Вот пример:
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Function with Parameters', 'functionWithParameters')
.addToUi();
}
function functionWithParameters() {
var activeCell = SpreadsheetApp.getActiveRange();
var value = activeCell.getValue();
// Process the active cell value
}
Метод 4: использование настраиваемых полей ввода
В Google Sheets можно создавать собственные поля ввода. Вот пример использования SpreadsheetApp.getUi().prompt():
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Function with Parameters', 'functionWithParameters')
.addToUi();
}
function functionWithParameters() {
var response = SpreadsheetApp.getUi().prompt('Enter a value:', SpreadsheetApp.getUi().ButtonSet.OK_CANCEL);
if (response.getSelectedButton() === SpreadsheetApp.getUi().Button.OK) {
var inputValue = response.getResponseText();
// Process the input value
}
}
Указание параметров функций меню в скриптах Google Sheets позволяет повысить функциональность и интерактивность вашей электронной таблицы. В этой статье мы рассмотрели несколько методов, в том числе использование подсказок пользовательского интерфейса, диалоговых окон, активных ячеек и настраиваемых полей ввода. Используя эти методы, вы можете создавать динамичные и удобные сценарии для автоматизации задач в Google Таблицах.