【问题标题】:Google Script: How automatically open a created text document after have create it [duplicate]Google Script:创建后如何自动打开创建的文本文档[重复]
【发布时间】:2013-07-27 08:17:37
【问题描述】:

我使用this script 使用 Google 电子表格创建了一个 Google 文本文档(如 word 文档)。但是,当我这样做时,从模板创建的新文本文档被放置在默认选择的文件夹中。而且,在那之后,我必须去那个文件夹,找到新文档并打开它。 百万美元的问题是:如何让已知创建的文本文档自动打开? (我认为如果不是 Google 文本文档而是电子表格,我应该使用“SpreadsheetApp.getActive()”)。

感谢您的帮助,不,没有百万美元。

【问题讨论】:

    标签: javascript google-apps-script google-sheets


    【解决方案1】:

    没有办法自动打开文档,电子表格也无法自动打开,除非用户做一些事情来打开它(至少点击一个链接)。

    您可以做的是在电子表格中显示一个弹出窗口,其中包含可以打开该文档的链接。

    通过电子表格脚本执行此操作非常简单,请参考to this postdocslist documentation。(使用doc ID 访问docsList.getUrl()


    编辑:根据您的评论,这是一种自动隐藏弹出窗口的可能方法,我将其包含在完整的演示代码中。

    function test(){
      var id = "1cZCL7T-enU0yJZnCb0WM0NeqXDHjnnBUyvs98vsyzwU";// test document (shared in view only)
      var Doc = DocsList.getFileById(id);
      showURL('Open document named "'+Doc.getName()+'"',Doc.getUrl());
    }
    
    function showURL(nameToShow,href){
      var app = UiApp.createApplication().setHeight(50).setWidth(300);
      app.setTitle("Show URL");
      var link = app.createAnchor(nameToShow, href);
      app.add(link);  
      var handler = app.createServerHandler('hide');
      link.addClickHandler(handler);// add serverHandler to the link itself
      var doc = SpreadsheetApp.getActive();
      doc.show(app);
    }
    
    function hide(){
      var app = UiApp.getActiveApplication().close();// close the popup window
      return app;// apply change
    }
    

    【讨论】:

    • 谢谢,谢尔盖。你能告诉我点击链接后如何自动关闭用户界面吗?再次感谢您!
    • 感谢 showURL 功能!稍加修改它对我有用:我必须注释掉将隐藏处理程序添加到链接的代码行。当我这样做时,它工作正常(但弹出窗口不会自动关闭)。当我尝试原始代码时,当我单击链接打开文档时,我收到“Aw snap”Google 错误消息。我正在使用新版本的表格,所以也许这个版本的某些东西使隐藏弹出窗口的处理程序干扰了文档的显示?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    相关资源
    最近更新 更多