Googleフォームで回答の送信上限を超えた場合に自動で回答を締め切る方法を説明します。Google Apps Script(GAS)を使用して、フォームの回答数を監視し、設定した上限に達したらフォームを自動で締め切る処理を実装します。
Googleフォームを用意する
まず、Googleフォームを作成し、締め切りたいフォームを用意します。
Google Apps Scriptを開く
- Googleフォームを開き、画面上部の「その他」(三点リーダー)アイコンをクリックします。
- 「スクリプトエディタ」を選択します。
- 新しいスクリプトプロジェクトが開きます。
スクリプトを記述する
以下のスクリプトをスクリプトエディタにコピーして貼り付けます。このスクリプトは、フォームの回答数をチェックし、指定した上限に達したらフォームを締め切るように設定します。
function closeFormIfLimitExceeded() {
var form = FormApp.openById('YOUR_FORM_ID'); // 「YOUR_FORM_ID」をあなたのフォームのIDに置き換えてください
var responses = form.getResponses();
var limit = 5; // 回答の上限数を設定します
if (responses.length >= limit) {
form.setAcceptingResponses(false); // 回答上限に達したらフォームを締め切る
MailApp.sendEmail('your_email@example.com', 'フォームの回答が上限に達しました', 'Googleフォームの回答が上限に達したため、自動的に締め切りました。'); // 必要に応じて通知メールを送信
}
}
このスクリプトでは、フォームの状態を動的に管理しています。回答数が上限に達していればフォームを閉じ、上限に達していなければフォームを開いて回答を受け付けるようにします。
また、フォームの状態が変わった際にはメールで通知を送るようにしています。フォームIDとメールアドレスはご自身のものに置き換えてください。
トリガーを設定する
スクリプトがフォームの回答を定期的にチェックするように、トリガーを設定します。
- スクリプトエディタで「編集」メニューから「現在のプロジェクトのトリガー」を選択します。
- ページの右下にある「トリガーを追加」ボタンをクリックします。
- 「実行する関数を選択」で
closeFormIfLimitExceeded
を選択します。 - 「イベントのソースを選択」で「イベントの種類」を選択し、「フォーム送信時」を選びます。
まとめ
これで設定は完了です。指定した回答数に達すると、自動的にフォームが締め切られ、必要に応じてメールで通知されます。