如何在 google 表格中添加类似于 excel 中的表单控件滚动条的水平滚动条?

Kar*_*rel 3 scrollbar google-sheets google-apps-script

我想添加一个水平滚动条,它将根据其位置提供 0-365 的值并使用该值进行计算。

我正在创建甘特图,与页面https://www.vertex42.com/ExcelTemplates/excel-gantt-chart.html上的相同

有一个水平滚动条可以帮助“移动”日历。

我在那里放了一个必须手动更改的数字。我还没有在互联网上找到任何解决方案。

Jos*_*a T 5

这种控件在 Google 表格中本身是不可用的。我发现Google 支持论坛最近的回复表明情况仍然如此。

如果您想自己构建此功能,现在实际上可以通过充分利用Apps Script 平台及其Google SheetsHTML Service 脚本编写 API 来实现。您可以使用 HTML 和 JS 创建一个对话框,其中可以包含您想要的任何输入,包括范围滑块,并且可以将值发送回 Google Sheet 脚本,然后 Google Sheet 脚本可以将其保存到单元格中。我进行了一个准系统测试以确保它可以工作,它确实:

动图演示

我使用Menu -> Tools -> Script Editor,然后创建了这两个文件:

代码.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);
}
Run Code Online (Sandbox Code Playgroud)

索引.html:

// 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);
}
Run Code Online (Sandbox Code Playgroud)

然后在保存脚本后重新加载工作表,您应该看到Dialog -> Open一个新的菜单项。单击它会显示您的自定义 HTML。