Google apps script 如何在Google应用程序脚本中创建下拉提示

Google apps script 如何在Google应用程序脚本中创建下拉提示,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我希望有一个包含工作簿中所有可用工作表的ui对话框,让用户选择要操作的工作表,并将值返回到脚本进行处理 我将图纸名称收集到一个数组中,并希望在下拉列表框中显示它们以供选择。有人能告诉我如何做的文档吗?这里是一个绑定到电子表格的脚本示例。对于一个web应用程序来说,情况也是如此 在Code.gs中 function test() { try { var output = HtmlService.createHtmlOutputFromFile('HTML_Sidebar');

我希望有一个包含工作簿中所有可用工作表的ui对话框,让用户选择要操作的工作表,并将值返回到脚本进行处理


我将图纸名称收集到一个数组中,并希望在下拉列表框中显示它们以供选择。有人能告诉我如何做的文档吗?

这里是一个绑定到电子表格的脚本示例。对于一个web应用程序来说,情况也是如此

在Code.gs中

function test() {
  try {
    var output = HtmlService.createHtmlOutputFromFile('HTML_Sidebar');
    SpreadsheetApp.getUi().showSidebar(output);
  }
  catch(err) {
    Logger.log(err);
  }
}

function getSheets() {
  try {
    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
    var names = [];
    for( var i=0; i<sheets.length; i++ ) {
      names.push(sheets[i].getName());
    }
    return names;
  }
  catch(err) {
    Logger.log(err);
  }
}

function changeSheet(name) {
  try {
    var spread = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = spread.getSheetByName(name);
    SpreadsheetApp.getActiveSpreadsheet().setActiveSheet(sheet);
  }
  catch(err) {
    Logger.log(err);
  }
}
功能测试(){
试一试{
var output=HtmlService.createHtmlOutputFromFile('HTML_边栏');
SpreadsheetApp.getUi().showSidebar(输出);
}
捕捉(错误){
Logger.log(err);
}
}
函数getSheets(){
试一试{
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets();
变量名称=[];

对于(var i=0;i您想将此UI添加到工作表或web应用程序中吗?为此,您需要使用HTML服务,这是完美的,因为它为我提供了所需的结构。非常感谢!!
<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <select id="mySelect" onchange="selectChange(this)">
    </select>
    <script>
      function selectChange(select) {
        google.script.run.changeSheet(select.value);
      }
      function sheetNames(names) {
        var select = document.getElementById("mySelect");
        for( var i=0; i<names.length; i++ ) {
          var option = document.createElement("option");
          option.text = names[i];
          select.add(option);
        }
      }
      (function () { google.script.run.withSuccessHandler(sheetNames).getSheets(); }());
    </script>
  </body>
</html>