web-dev-qa-db-ja.com

Googleスプレッドシートを手動で開かない場合、再計算できますか?

ImportHtml()を使用して実際の乱雑なテーブルを取り込むGoogleスプレッドシートがいくつかあります。次に、別のページで上記のデータにアクセスし、スプレッドシートQUERY()およびその他の関数を使用して、きれいにフォーマットされた表に格納します。これにより、データベースのバッチプロセスでインポートできます。

問題は、Googleスプレッドシートを手動で開かずに更新してデータを取り込む必要があることです。そうしないと、データベースのバッチインポートが失敗します。

おそらくこれを行うためのより堅牢な方法があることを知っていますが、この種のデータツールを自分で構築するために解放するので、技術に不慣れな人でも簡単に実行できます。

私たちが読んだことから、G-Appsスクリプトを介してSpreadsheetApp.flush()を実行しても、すべてのページが強制的に再計算されるわけではありません。

それを簡単に行う別の方法はありますか?

5
Jamonroad

new(2014年第2四半期)スプレッドシートを使用している場合、Recalculation[ファイル]"[スプレッドシート設定...]の下にあるオプション

私はあなたの場合にうまくいくと信じています。 「代替ページ上」の意味に依存します。同じスプレッドシートの2番目のシートを意味する場合は、運が良いかもしれません。代替ワークブックを意味する場合、失うと思います。

この例では、Google Apps Scriptアクティビティによって更新されるマスターブックへのImportRange()呼び出しを持つブックを持つ複数のユーザーがいます。新しいRecalculation機能はではなくを使用して、リモートユーザーのワークブックを手動編集のようにマスターからプルします。

1
Martin Bramwell

[ファイル]"[スプレッドシートの設定...]で、「変更時+毎時間」に再計算を行うことを選択できます。ただし、残念ながら、これはスプレッドシートが開いている場合(ブラウザーで表示されている場合)にのみ機能します。そのため、ファイルが開いていないときに再計算は行われません。

1