我目前正在了解Google Ui服务
我有一个独立的Google脚本(不是任何文档的一部分),在该脚本中,我有以下代码,我从this page获取。
function demoUI() {
var myapp = UiApp.createApplication().setTitle('An improved GUI');
var mygrid = myapp.createGrid(3, 2);
mygrid.setWidget(0, 0, myapp.createLabel('Name:'));
mygrid.setWidget(0, 1, myapp.createTextBox());
mygrid.setWidget(1, 0, myapp.createLabel('Age:'));
mygrid.setWidget(1, 1, myapp.createTextBox());
mygrid.setWidget(2, 0, myapp.createLabel('City'));
mygrid.setWidget(2, 1, myapp.createTextBox());
var mybutton = myapp.createButton('Press me');
var mypanel = myapp.createVerticalPanel();
mypanel.add(mygrid);
mypanel.add(mybutton);
myapp.add(mypanel);
return myapp;
}
问题是当我运行脚本时,什么都没有显示出来。
我尝试将此脚本添加到google doc(文档,而不是spreadhseet),同样,当我运行脚本时,没有任何内容显示。
我一定是在误解某些东西,但不知道它是什么,任何帮助都会受到高度赞赏。
此致 Crouz
答案 0 :(得分:1)
要在Google文档中显示用户界面,您需要将其放入dialog or sidebar。例如DocumentApp.getUi().showModalDialog(myapp, 'My Dialog')
。要在Google文档之外提供用户界面,请重命名功能doGet()
,使其成为web app。
答案 1 :(得分:0)
你应该替换:
return myapp;
由:
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.show(myapp);
最后,您应该:
function demoUI() {
var myapp = UiApp.createApplication().setTitle('An improved GUI');
var mygrid = myapp.createGrid(3, 2);
mygrid.setWidget(0, 0, myapp.createLabel('Name:'));
mygrid.setWidget(0, 1, myapp.createTextBox());
mygrid.setWidget(1, 0, myapp.createLabel('Age:'));
mygrid.setWidget(1, 1, myapp.createTextBox());
mygrid.setWidget(2, 0, myapp.createLabel('City'));
mygrid.setWidget(2, 1, myapp.createTextBox());
var mybutton = myapp.createButton('Press me');
var mypanel = myapp.createVerticalPanel();
mypanel.add(mygrid);
mypanel.add(mybutton);
myapp.add(mypanel);
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.show(myapp);
}