如何在(App Script)电子表格输入框中创建下拉列表?

Hac*_*ode 5 google-sheets google-apps-script drop-down-menu

我创建的Browser.inputBox只接受一个文本.但是我需要创建一个下拉列表,我可以从列表中选择,而不是自己键入字符串.

以下是我在单击Odoo(在菜单栏中)>设置时创建的inputBox的屏幕截图.

这是被触发的函数:

function menu_settings(params) {
  if (!params){
    params = [["url", "URL"], ["dbname", "Database Name"], ["username", "username"], ["password", "password"]];
  }
  for (var i = 0; i < params.length; i++){
    var input = Browser.inputBox("Server Settings", params[i][1], Browser.Buttons.OK_CANCEL);
    if (input === "cancel"){
      break;
    }
    else{
      ScriptProperties.setProperty(params[i][0], input);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

基本上不是键入文本,我需要一个具有预定义值的下拉列表.

我正在检查Browser类,我看到没有这样的下拉列表选项.我见过的大多数解决方案都是从单元格中输入的文本中使用DataValidation.但是我想给出我的代码中的下拉列表以及电子表格中的任何内容.我该如何实现?我是新手,所以我需要一些建议!

谢谢!

Ala*_*lls 6

这是打开 HTML 对话框的代码:

function fncOpenMyDialog() {
  //Open a dialog
  var htmlDlg = HtmlService.createHtmlOutputFromFile('HTML_myHtml')
      .setSandboxMode(HtmlService.SandboxMode.IFRAME)
      .setWidth(200)
      .setHeight(150);
  SpreadsheetApp.getUi()
      .showModalDialog(htmlDlg, 'A Title Goes Here');
};
Run Code Online (Sandbox Code Playgroud)

您需要一个 HTML 文件。

HTML_myHtml.html

<select name="nameYouWant">
  <option value="something">Text</option>
  <option value="anything">Drop Down Selection</option>
</select>

<hr/>
<ul>
  <li>This is a list.</li>
  <li>This is line two.</li>

</ul>

<button onmouseup="closeDia()">Close</button>

<script>
  window.closeDia = function() {
    google.script.host.close();
  };
</script>
Run Code Online (Sandbox Code Playgroud)