Этот вид контроля просто недоступен в Google Sheets.Я нашел недавний ответ на форумах поддержки Google , указывающий на то, что это все еще так.
Если вы хотите создать эту функцию самостоятельно, на самом деле теперь это можно сделать,воспользоваться всеми преимуществами платформы Apps Script и их Google Sheets и API сценариев HTML Service .Вы можете создать диалоговое окно с HTML и JS, которое может иметь любые входные данные, в том числе ползунки диапазона, и оно может отправлять значения обратно в скрипт Google Sheet, который затем может сохранить его в ячейке.Я собрал тест barebones, чтобы убедиться, что он будет работать, и он работает:
Я использовал Menu -> Tools -> Script Editor
, а затем создал эти два файла:
Code.gs:
// Trigger dialog to be added to menu on file open
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Dialog')
.addItem('Open', 'openDialog')
.addToUi();
}
function openDialog() {
var html = HtmlService.createHtmlOutputFromFile('index');
SpreadsheetApp.getUi()
.showModalDialog(html, 'Dialog title');
}
function saveSliderVal(updatedVal){
var sheetToSaveTo = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Gantt');
if (!sheetToSaveTo){
sheetToSaveTo = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
}
var cellToSaveTo = sheetToSaveTo.getRange('A1:A1');
cellToSaveTo.setValue(updatedVal);
}
index.html:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<script>
function update() {
document.getElementById('val').innerText = document.getElementById('input').value;
}
function save() {
// Call sheet function
google.script.run.saveSliderVal(parseInt(document.getElementById('input').value, 10));
}
</script>
<input id="input" type="range" min="0" max="365" onchange="update()" oninput="update()" value="0"
step="1" /> <span id="val">0</span>
<br />
<button id="save" onclick="save()">Save to Gantt</button>
</body>
</html>
Затем перезагрузите лист после сохранения скрипта, и вы увидите Dialog -> Open
какновый пункт меню.Нажав на нее, вы откроете свой собственный HTML.