2021/12/03(金)薬疹再発のため本日のPodcastはお休みさせていただきます。

GASを使ったプログラムの実行途中で値を更新したいときの処理

Google Spreadsheet・GAS

こんにちは。安慶名勇子(アゲナユウコ)です。

表計算ソフトといえばExcel!という方もまだ多いかと思いますが、個人的にはExcelを使用する機会はかなり減りまして、Google Spreadsheetを主に使っています。何と言ってもGASでのプログラミングをしてしまえばいろいろと自動化できる点が魅力的。まぁ、Excelでも似たようなことはできますけど、使える環境の違いや使える関数、プログラムの記述のしやすさ…を考えると個人的にはGoogle Spreadsheetの方に軍配が上がるんですよね。

個人的な作業はもちろんのこと、お仕事としてGASのプログラム記述を請け負うこともあるわけですが、その際にも良く使用している、GASプログラム実行途中でのスプレッドシートの値の更新方法について、知っておくと便利なので記載しておきます。

おそらくGAS初心者が戸惑うところだと思うのですが、GASって、実行の最中はスプレッドシートの値がリアルタイムで更新されません。ちょっとしたタイムラグがあるんです。そのため、この現象を知らないでいると「正しくプログラムが動いているのに、なぜスプレッドシートには値が反映されないの!?」と頭を抱えることになるんですよね(経験談)。

この特性、どんな時に不具合が起こるかというと、例えば請求書を作成後にPDF出力するプログラム…なんか該当するのでは。本来であれば、請求書に必要な値を入力後、計算結果が正しく表示された状態で、PDFファイルの作成を行いたい。しかし、GASの実行中のタイムラグのせいで、計算結果が表示される前にPDF出力されてしまう…と。結果として、全く役に立たない請求書が出来上がってしまうわけですね。これじゃ使えない。

本来の目的を達成するには、計算結果が反映された後にPDFを出力しなければなりません。つまり、PDF出力処理の前に正しい情報に値を更新する処理を施さなければならないわけです。

といってもその方法は簡単で、値を更新したいタイミングの場所にこの1文を記載するだけ。

この部分が実行されたタイミングでスプレッドシートに値が反映されます。デバッグで確認するとわかりやすいので一度試してみてください。知っているのと知らないとでは結果に大きく差が出る1文です。

Google Apps Script 公式サイトも掲載されているのでぜひ参考にしてください。

 

関連記事

特集記事

Yuko Agena

Yuko Agena

仕事のこと、プライベートのこと、日々の出来事や思考をジャンルを問わず気ままに記録しています。どちらかというとソリストで、ひとり旅やモノ作りが好き。

更新情報

2021年12月
 12345
6789101112
13141516171819
20212223242526
2728293031  

最近の記事

  1. 【Vol.144】全身、針で刺されるような痛みと高熱に悶え苦しんでおりました

  2. 【Vol.143】読み続けること、書き続けることの難しさとそこから得られるものの大きさのお話

  3. 【Vol.142】キャノンケーブル交換完了。ノイズ問題は解消したものの、後悔していること

  4. ユーグレナ問題のその後。データの流出はなかったとの釈明も不審点もある。

  5. ユーグレナ・オンラインから「ご購入ありがとう」メール。いや、私買ってない。

ランキング

  1. 1

    テレビなしの生活を10年以上続けている私が感じる、テレビのない生活のメリット・デメリット

  2. 2

    WordPress「サイトに重大なエラーがありました」の解消方法

  3. 3

    WordPressで管理者メールアドレスが変更できないときの対処法

  4. 4

    YouTubeで流行っているらしいflixzoneを推奨するスパムコメントに気をつけて!

  5. 5

    Todoistは有料版がおススメ!無料版との違いと使い心地をグランドマスターが解説してみる

TOP