Google フォームの回答数が上限に達したら、自動で回答の受け付けを締め切る Google Apps Script(GAS)を紹介する。フォーム送信時のトリガーで回答数を数え、上限に達したら受け付けを停止して、Discord の Webhook でメンション付きの通知も送る。コードとトリガーの設定方法をまとめる。
概要
Googleフォームの回答を特定の回答数に達したときに締め切る方法を解説します。
コード
設定したいGoogleフォーム単体に紐づくApps Scriptに以下のコードを記述します
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function endFormCheck () {
var LIMIT_NUMBER = 100 ; // 人数の上限値を入れてね
var answer = FormApp . getActiveForm ();
var responseCount = answer . getResponses (). length ;
if ( responseCount >= LIMIT_NUMBER ) {
answer . setAcceptingResponses ( false );
notifyDiscord ( responseCount );
}
}
function notifyDiscord ( responseCount ) {
var discordWebhookURL = 'your_webhook_URL' ;
var payload = {
content : '<@userID><@&roleID>フォームの受付が停止されました。現在の回答数は ' + responseCount + ' です。'
};
var options = {
method : 'post' ,
contentType : 'application/json' ,
payload : JSON . stringify ( payload )
};
UrlFetchApp . fetch ( discordWebhookURL , options );
}
webhookのURL、content内のユーザーIDとロールIDは適宜置き換えてください。
トリガー設定は「endFormCheck」をフォーム送信時に実行するように設定してください。
Licensed under CC BY-NC-SA 4.0
最終更新 2026年9月29日 21:48 +0900