如何在UiApp中获取元素ID

时间:2014-08-22 16:57:43

标签: google-apps-script google-sheets

我正在尝试为我拥有的Google电子表格创建应用脚本。几年前我为另一张表创建了一个脚本,我不记得如何获取组件ID。

以下是代码:

var pointsSheet = SpreadsheetApp.openById('1o8_f063j1jYZjFEnI_P7uAztpnEAvQ6mc3Z1_Owa69Y');
function doGet() {
  var app = UiApp.createApplication();
  app.add(app.loadComponent("Marks")); //IT IS NOT CALLED MARKS!

  var panel = app.getElementById("VerticalPanel1");
  var text = app.createPasswordTextBox().setName("text");
  var handler = app.createServerHandler("getResults").addCallbackElement(text);

  panel.add(text);
  panel.add(app.createButton("Get Record", handler));

  //SpreadsheetApp.getActiveSpreadsheet().show(app); 
  return app;
}
...

评论部分里面写着“它不是标记的标记”是我正在谈论的部分。在我的其他脚本中这是有效的,但在新脚本中它不起作用。如何找到组件名称(如果这是它的名称)?

1 个答案:

答案 0 :(得分:0)

您正在尝试运行使用GUI Builder的脚本,几年前它是可能的,但现在它已不再存在(自2013年10月以来)!请参阅here

我看到了,因为您正在使用app.loadComponent("Marks"),这是调用GUI Builder中创建的Ui组件的方法。

使用它构建的旧应用程序仍然有效,但您无法创建/修改它。

编辑以下评论:

您必须使用UiApp从头开始构建UI - UiApp使用与GUI构建器相同的元素和相同的语法 - 或HTML服务。

后者更强大但使用完全不同的方法,因为它将客户端JavaScript与服务器代码结合使用。看看文档和tutos并做出选择; - )