3

このスクリプトを使用して、Google スプレッドシートで Google テキスト ドキュメント (Word ドキュメントなど) を作成しました。しかし、そうすると、テンプレートから作成された新しいテキスト ドキュメントは、デフォルトで選択されたフォルダーに配置されます。その後、そのフォルダーに移動し、新しいドキュメントを見つけて開く必要があります。何百万ドルもかかる問題は、作成されたことがわかっているテキスト ドキュメントを自動的に開くにはどうすればよいかということです。(Google テキスト ドキュメントではなくスプレッドシートの場合は、'SpreadsheetApp.getActive()' を使用する必要があると思います)。

助けてくれてありがとう、いいえ、百万ドルはありません。

4

1 に答える 1

2

ドキュメントやスプレッドシートを自動的に開く方法はありません。ユーザーが何らかの操作を行う (少なくともリンクをクリックする) 必要があります。

できることは、そのドキュメントを開くリンクを含むポップアップをスプレッドシートに表示することです。

これは、スプレッドシート スクリプトから行うのは非常に簡単です。この投稿docslist のドキュメント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
}
于 2013-07-27T21:23:04.607 に答える