3

Apps Script で開いた UI ウィンドウを閉じることはできますか?

答えはノーだと思います: http://code.google.com/p/google-apps-script-issues/issues/detail?id=474&can=1&q=.close%28%29&colspec=Stars%20Opened%20ID %20Type%20Status%20Summary%20Component%20Owner

しかし、他の意見があるかどうかを知りたかったのです。

アクティビティが終了したら閉じたいポップアップする「待機ウィンドウ」があります。


var app = UiApp.getActiveApplication();

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = getSheetWithSubmissions(ss);

// create UI app, this works fine

app = createWaitPleaseUI(sheet);

ss.show(app);

//simulated activity

Utilities.sleep(5000);

//this doesn't work despite being in the documentation

app.close();

これは不可能だと思いますが、それが不可能な場合は、Google がドキュメントから削除してくれることを望みます。

回避策として、「作業が完了しました。OK をクリックしてください」という 2 つ目の GUI を起動すると、問題なく動作します。

4

2 に答える 2

6

app変更を更新するには、オブジェクトを返す必要があります。閉じる場合も同様です。

最後の行をreturn app.close()代わりに変更してください。

于 2012-06-21T00:51:16.757 に答える
-1

ドキュメントをもっとよく読む必要があります。実際に閉じるには、スプレッドシートの UI を return で終了する必要があることが明確に説明されています。また、ドキュメントや他のすべての人に対して常に正しいと信じるのではなく、トップ貢献者からの回答を信頼することをお勧めします...不快感はありませんが、少しの謙虚さは常に歓迎されます:-)

裏付け のためにドキュメントから抽出されたコードの一部を次に示します。

// Close everything return when the close button is clicked
function close() {
  var app = UiApp.getActiveApplication();
  app.close();
  // The following line is REQUIRED for the widget to actually close.
  return app;
}
于 2012-07-14T08:46:30.240 に答える