Googleフォームを活用した予約システムは、無料で簡単に運用できるため、多くのビジネスやイベントで利用されています。しかし、予約できる人数に上限を設けたい場合、標準のGoogleフォームにはその機能が備わっていません。
本記事では、Google Apps Script(GAS)を使用して、予約人数の上限を設定する方法を解説します。具体的なスクリプト例も紹介するので、初心者の方でも簡単に実装できます。
それでは、具体的な手順を見ていきましょう。
■ 動作環境
OS:Windows 10 Home(64ビット)
Chrome:133.0.6943.127(64ビット)
■ 基本的な仕組みと実装方法
Googleフォームの送信数を取得するために、Googleフォームの送信回数を利用します。これにより、現在の予約数を取得し、事前に設定した上限と比較することで制御が可能になります。
Googleフォームの送信回数を取得
予約上限と比較し、受付を制御
上限に達した場合はフォームの受付を停止
流れを理解できたら、スクリプトエディタにスクリプトを書き込みましょう。
ページを開いたときに書かれているコードは、すべて削除して、次のスクリプトをコピー&ペーストしてください。
FormApp.getActiveForm():現在のGoogleフォームオブジェクトを取得します。
form.getResponses().length:これまでに送信された回答の総数を取得します。
form.setAcceptingResponses(false):フォームの受付を停止します。
あとは、この関数を onFormSubmit トリガーに登録すると、フォームが送信されるたびに予約状況をチェックし、上限に達したら受付を停止できます。
フォームごと止める!例ということで、あえて1つの日時のみを予約できるフォームを準備しましたw

そして、Googleフォームを開くこと3回目の動きがこちらです。

青色枠で強調したとおり、setCustomClosedFormMessageメソッドで指定したとおりにメッセージが表示されていることがお分かりいただけると思います。
■ まとめ
GoogleフォームとGASを組み合わせることで、シンプルな予約システムに「人数制限」機能を追加できます。
Googleフォームを使った予約システムを導入したい方は、ぜひこのスクリプトを活用してください!
Comments