我想添加一个水平滚动条,它将根据其位置提供 0-365 的值,并使用该值进行计算。
我正在创建一个甘特图,与页面上的相同https://www.vertex42.com/ExcelTemplates/excel-gantt-chart.html https://www.vertex42.com/ExcelTemplates/excel-gantt-chart.html
有一个水平滚动条可以帮助“移动”日历。
我在那里放了一个必须手动更改的号码。我在互联网上没有找到任何解决方案。
这种控件在 Google 表格中根本不可用。我发现最近的回复谷歌支持论坛 https://support.google.com/docs/thread/3391478表明情况仍然如此。
如果您想自己构建此功能,现在实际上可以通过充分利用Apps 脚本平台 https://developers.google.com/apps-script/guides/sheets#custom_menus_and_user_interfaces和他们的谷歌表格 https://developers.google.com/apps-script/reference/spreadsheet/ and HTML 服务脚本 API https://developers.google.com/apps-script/guides/html/communication。您可以使用 HTML 和 JS 创建一个对话框,其中可以包含您想要的任何输入,包括范围滑块,并且它可以将值发送回 Google Sheet 脚本,然后 Google Sheet 脚本可以将其保存到单元格中。我进行了一个准系统测试以确保它能够工作,并且确实如此:
I used 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);
}
索引.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。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)