1

Google サイトへの Google DocList の埋め込みに記載されているコードを使用して 、ファイルのリスト (Google ドライブのフォルダーから取得) を Google サイトのページに埋め込みました。出力ページのリンクを変更して、スクリプトで設定されているスプレッドシート モードではなく、スプレッドシートのライブ フォームに移動する方法があるかどうかを知りたいです。

4

2 に答える 2

0

ドキュメントを作成して、Googleフォームのタイトルに名前を付けることができます。フォームのURLをドキュメント内に貼り付けます。

于 2013-01-05T19:58:18.230 に答える
0

編集:申し訳ありませんが、実際にフォームのURLを取得する方法があるため、この最初の回答を忘れてください!!

これがどのように機能するかです

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

リストをサイトページに埋め込むのはとても簡単です

ここに仕事をする小さなコードがあります.オンラインバージョンはここにあります(認証が必要です)しばらくお待ちください:表示が遅くなる可能性があります...

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) は、apps-script からは入手できません....手動で URL をエンコードする必要があると思います.-

于 2013-01-05T20:36:01.517 に答える