2

我在 google drive 中创建了一个电子表格,并使用 google 演示文稿整理了一个教程演示文稿,向用户演示如何使用电子表格以及为什么它比我们以前使用的方式更好。

我想要的是在打开电子表格时出现一个消息框,询问该人是否已经观看了教程演示。如果用户单击否,我想在浏览器中打开一个新页面以向他们展示我发布的演示文稿,或者在自定义 UI 中显示演示文稿。

我已经搜索了几个小时,无法弄清楚。这可能吗?谢谢您的帮助!

我是论坛的新手,如果我发错了请告诉我。谢谢!

4

2 回答 2

2

像这样的东西做得很好。

我使用了一个假按钮来保持“外观”与另一个按钮一致,我只是在它上面添加了不可见的链接;-)

function alertLink() {
  var doc = SpreadsheetApp.getActiveSpreadsheet();
  var app = UiApp.createApplication().setTitle('Message').setHeight('100').setWidth('400');
  var panel = app.createVerticalPanel().add(app.createHTML('Did you see my beautiful <b>Tutorial</b> ?'));
  var grid = app.createGrid(1,2).setWidth('400');
  var closeHandler = app.createServerHandler('close');
  var b1 = app.createButton("NO and I'd like to").setTitle('go to the tutorial in a new tab');
  var b2 = app.createButton("YES and I don't want to see it again",closeHandler).setTitle('close this window');
  var link = app.createAnchor('XXXXXXXXXX','http://www.google.com').setStyleAttributes({'zIndex':'1' , 'position':'fixed' , 'top':'25' , 'left':'20', 'color':'transparent' }).setTitle('go to the tutorial in a new tab');
  var G1 = app.createVerticalPanel().add(b1).add(link);
  grid.setWidget(0,0,G1).setWidget(0,1,b2);
  app.add(panel).add(grid)
  doc.show(app)
}

function close(){
  return UiApp.getActiveApplication().close();
}

onOpen如果您希望它在电子表格打开时自动执行,只需使用触发器即可。(或将主函数重命名为onOpen()

这是它的样子:

在此处输入图像描述

于 2013-08-09T17:33:00.103 回答
0

对于onOpen触发器,使用提供打开 URL 选项的对话框提示用户肯定是更好的 UX,而不是自动打开 URl。有关如何执行 此操作的信息,请参见此处的 serge 答案(这比他在此线程上的答案中不推荐使用的代码更新)。

但是对于其他触发器(例如菜单项单击),请在此处查看我的答案以自动打开 URL。

于 2017-11-03T15:02:04.190 回答