GAS用户界面不显示



我正在学习google Ui Service

我有一个独立的谷歌脚本(不是任何文档的一部分),并在该脚本中,我有以下代码,我从这个页面。

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;
}

问题是当我运行脚本时,没有显示任何内容。

我尝试将此脚本添加到谷歌文档(文档,而不是电子表格),同样,当我运行脚本时,没有显示任何内容。

我一定是误会了什么,但不知道是什么,如果你能帮助我,我将非常感激。

的问候Crouz

要在Google Docs中显示UI,您需要将其放入对话框或侧边栏中。例如DocumentApp.getUi().showModalDialog(myapp, 'My Dialog')。为了服务于Google Doc之外的UI,将函数重命名为doGet(),使其成为一个web应用程序。

你应该替换:

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

最新更新