我正在尝试为我拥有的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;
}
...
评论部分里面写着“它不是标记的标记”是我正在谈论的部分。在我的其他脚本中这是有效的,但在新脚本中它不起作用。如何找到组件名称(如果这是它的名称)?
答案 0 :(得分:0)
您正在尝试运行使用GUI Builder的脚本,几年前它是可能的,但现在它已不再存在(自2013年10月以来)!请参阅here。
我看到了,因为您正在使用app.loadComponent("Marks")
,这是调用GUI Builder中创建的Ui组件的方法。
使用它构建的旧应用程序仍然有效,但您无法创建/修改它。
编辑以下评论:
您必须使用UiApp从头开始构建UI - UiApp使用与GUI构建器相同的元素和相同的语法 - 或HTML服务。
后者更强大但使用完全不同的方法,因为它将客户端JavaScript与服务器代码结合使用。看看文档和tutos并做出选择; - )