【问题标题】:Embed a list of forms in Google Site per DocList根据 DocList 在 Google 站点中嵌入表单列表
【发布时间】:2012-12-19 21:38:23
【问题描述】:

我使用了 Embedding Google DocList in a Google Site 在 Google 协作平台页面中嵌入文件列表(取自 Google 驱动器中的文件夹)。我想知道,是否有办法修改输出页面上的链接,以便它们指向电子表格的实时形式,而不是脚本中设置的电子表格模式。

【问题讨论】:

    标签: google-apps-script google-apps-for-education


    【解决方案1】:

    您可以创建一个文档并将其命名为您的 Google 表单的标题。将表单的 URL 粘贴在文档中。

    【讨论】:

    • 是的,但我必须为很多表格这样做,而且它们会定期更改。因此,我想避免手动将整个表单 URL 复制并粘贴到文档中。
    【解决方案2】:

    编辑:抱歉,忘记第一个答案,因为实际上是一种获取表单网址的方法!

    这是它的工作原理

    function myFunction() {
      var ss=SpreadsheetApp.getActive()
      var formurl = ss.getFormUrl()
      Browser.msgBox(formurl)
    }
    

    所以在网站页面中嵌入列表会很容易,

    这是一个完成这项工作的小代码,在线版本here(需要授权)请耐心等待:显示速度可能会很慢......

    function doGet() {
      var app=UiApp.createApplication().setTitle('Available Forms').setStyleAttribute('padding', '25');
      var user = Session.getEffectiveUser().getUserLoginId();
      app.add(app.createLabel('Available forms in Drive for '+user).setStyleAttribute('background', '#dddd33').setPixelSize(500, 18).setHorizontalAlignment(UiApp.HorizontalAlignment.CENTER).setStyleAttribute('fontWeight', 'bold'))
      var flex=app.createFlexTable().setId('flex').setWidth('500').setBorderWidth(1).setCellPadding(2).setStyleAttribute('borderColor', '#dddd33');
      var index = 0
      var docs = DocsList.getAllFiles()
        for (var n in docs){
          if(docs[n].getFileType()=="spreadsheet"){
            var ss=SpreadsheetApp.openById(docs[n].getId())
             if(ss.getFormUrl()){
        flex.setText(index, 0, docs[n].getName())
        flex.setWidget(index, 1, app.createAnchor('open form', ss.getFormUrl()))
        ++ index
      }
      }
      }
      app.add(flex)
      return app
    }
    

    再次抱歉,我忘记了这个功能。


    -表单嵌入在电子表格中,不会在您的驱动器中显示为单独的实体。他们的 ID(或 URL)在应用程序脚本中不可用。恐怕您必须手动对 URL 进行编码。-

    【讨论】:

    • 好的,这不是我想听到的,但感谢您的回复 :-) 您知道打开电子表格时是否可以自动打开表单吗?
    • 请看编辑,我忘了实际上有一个方法;-)
    • 是的!它有效 - 你让我开心!非常感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多