无效参数:创建模板从文件的用户界面错误



我过去用过很多次createTemplateFromFile。 它允许我使用包含方法,以便可以将CSS和JavaScript分解为不同的文件。 但今天我似乎无法让它工作。 下面是我绑定到电子表格的测试代码。 任何想法为什么它不起作用? 我使用该技术尝试了另一个带有自定义对话框的现有电子表格,它可以工作。

Code.gs

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  var menu = ui.createMenu("Test");
  menu.addItem("Test", "test");
  menu.addToUi();
}
function test() {
  try {
    var html = HtmlService.createTemplateFromFile("HTML_Test");
    Logger.log(html);
    // was html.evaluate();
    html = html.evaluate(); // correction
    SpreadsheetApp.getUi().showSidebar(html);
  }
  catch(err) {
    Logger.log(err);
  }
}

HTML_Test:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <select>
      <option value="Doc1">Document 1</option>
      <option value="Doc2">Document 2</option>
      <option value="Doc3">Document 3</option>
    </select>
  </body>
</html>

日志

[19-01-24 09:54:51:240 PST] {}
[19-01-24 09:54:51:246 PST] Exception: Invalid argument: userInterface
我一直

在用各种方式解决这个问题,以找出为什么它不起作用。 你对一个简单的解决方案视而不见。 html = html.evaluate()有效。

最新更新