GASの裏技的な使い方や開発のコツ・秘訣について解説した記事です。応用的な内容で単発の記事(非連載型の記事)はこちらに分類します。
【GASの排他制御】LockServiceでデータの上書きを防止せよ
みなさんこんにちは!GASおじさんです。 今回はGASの排他制御、LockServiceの使い方について解説します。 GASの同時実行によるデータの上書き問題 レコードを追加する3つのボタン 解説のために以下のスプレッドシートを用意しました...
【無料】Googleカレンダー連携の会議室予約システム【コピー可】
みなさんこんにちは!GASおじさんです。 今回はGoogleカレンダー連携の会議室予約システムをGASで作りましたので、ご紹介します。 有料級の超実用的なシステムとなっておりますが、なんと、コピーして無料でご利用いただけますので、ご興味のあ...
Googleカレンダーから空き時間を取得するGAS
みなさんこんにちは!GASおじさんです。 今回はGoogleカレンダーから空き時間を取得するスクリプトをご紹介します。 Youtubeでも解説していますので動画で見たい人は以下からどうぞ。 Googleカレンダーから空き時間を取得するスクリ...
Googleフォームで定員に到達したら応募を締め切る方法
みなさんこんにちは!GASおじさんです。 今回はGoogle Apps Script(GAS)を使って、Googleフォームの応募が定員に達した際に自動的に応募を締め切る方法を紹介します。 Youtubeでも解説してますので動画で見たい人は...
AppSheetで多対多のテーブル設計をするときの問題点
AppSheetで多対多のテーブル設計をしてアプリを作った際に、中間テーブルに複数のレコードを一括登録するためのUIを構築できないという問題について考えていきます。また、GASでWebアプリを作ることによってこの問題を解決していきます。
Googleカレンダーで特定のイベント削除を検知して通知する方法
Googleカレンダーで特定のイベント削除を検知してGmailで通知する方法について解説します。Google Clandar APIとカレンダー更新トリガーを利用して実装していきます。
GASのトリガーを月末に設定する方法
GASのトリガーを月末に設定する方法について解説します。ポイントはnew Date()で生成する日付型のデータの扱いです。new Date()の第3引数で「0」を指定することで月末の日時を取得することができます。
GASでタイムアウトエラーを回避する方法【6分の壁/30分の壁】
GASの一度の実行時間は最大6分までで、それを越えるとタイムアウトエラーになってしまうという問題、通称「6分の壁」を克服する方法を紹介します。スクリプトプロパティをいかに使いこなせるかが重要です。
GASを「毎日0時1分」に実行する方法【特定の日時トリガー】
GASを毎日特定の日時に実行する方法を解説します。日付ベースのトリガーの場合、0時〜1時など幅のある時間帯の中での実行となってしまうため、「◯時◯分ちょうどに実行したい」という厳密な指定ができません。この課題を解決していきます。