GooleFormでイベント応募者数の上限を設定する

# 入力フォームを作成する
## GoogleForms作成画面を表示する
ブラウザでGoogleにログインし、画面右上の [Googleアプリ アイコン]をクリックします(※①)。

Googleアプリの一覧が表示されるので[フォーム アイコン]をクリックします。(※②)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/d3cb6478-167b-56f2-c7d3-3108e1700676.png)

## 新規フォーム作成
「GoogleForms画面」で「新しいフォームを作成」エリアから「**空白**」をクリックします。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/0b66d226-7a88-0e20-b7b7-d0dea5e58a54.png)

## 必要な項目を追加
「フォーム作成画面」で応募に必要な項目を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/72e03c7e-5044-08b2-06ed-8a401d6b7832.png)


# 入力上限を設定する

## AppsScript エディタを表示
「フォーム作成画面」の右上にある「メニューアイコン」をクリックします（※①）。

「メニュー一覧」にある「**スクリプトエディタ**」をクリックします（※②）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/929809ec-8351-4b93-bd3d-023f5474dc94.png)

## 応募人数の上限を制御するプログラムを張り付ける
「スクリプトエディタ」の右側に表示されている [**function myFunction() {}**] と表示されている部分の文字をすべて削除します。（スクリーンショットの赤枠内）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/5bb1681d-6a71-5e66-7219-ec8bf606624e.png)

削除したら、下記のプログラムを貼り付けます。

```
function endFormCheck() {
    var LIMIT_COUNT = 160;     //ここに人数の上限値を設定

    // スクリプトに関連づいているフォームを取得する
    var form = FormApp.getActiveForm();

    // 指定した数以上の回答があったら
    // フォームを無効にする
    if (form.getResponses().length >= LIMIT_COUNT) 
    {
        form.setAcceptingResponses(false);
    }
}
```

※貼り付けた後は、下記スクリーンショットのようになります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/ad9336fc-8786-b4e7-3f67-9d7c60c6c06b.png)

## 応募人数の上限を制御するプログラムの加工

>var LIMIT_COUNT = 160;     //ここに人数の上限値を設定

`160` と書かれている部分が、応募者の上限数になります。
この値を適切な値に変更します。

## プログラムの実行設定
「スクリプトエディタ画面」の左側にある「**時計のアイコン(トリガー)**」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/ed7d1afc-2a3a-61c5-59a5-2600c5f5e931.png)

「トリガー画面」の下部にある「＋ トリガーを追加」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/06711291-bb5c-5300-71bb-21dac8214e41.png)

「トリガーの追加ダイアログ」で「**イベントの種類を選択**」の項目を `フォーム送信時` に変更して、画面下部の「保存ボタン」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/9419383d-d6f7-a85d-de84-a5e7e9b8565e.png)

「トリガー画面」に１行追加されたことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/c6ecb25d-d04e-05c3-3380-d7b666f4e317.png)


# 動作確認
「GoogleForms画面」に戻り、画面上部の「目玉アイコン(プレビュー)」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/3458dd08-c817-b63a-8028-2af3d8333c9a.png)

ご自身で作成したイベント応募フォームが表示されるので、適切な情報を入力して画面下部の「送信ボタン」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/7e126fa6-d8d9-c962-8cc2-a7ad986c9c8b.png)

フォーム送信後、下記スクリーンショットのような画面に遷移します。フォームの回答数が、プログラムに設定した値に達するまでは「**別の回答を送信 リンク**」をクリックすると、再び応募フォームが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/65ea8387-db8b-bbb1-7b69-a47bd939b140.png)

これまでの手順が正しく設定できている場合、フォームの回答数がプログラムに設定した値に達すると、下記スクリーンショットのように、応募フォームが表示されなくなります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311258/915642e8-9bac-450b-c6e7-3cd93a4371d9.png)