GAS UI无法显示

时间:2014-05-19 12:44:12

标签: google-apps-script

我目前正在了解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

2 个答案:

答案 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);
 }