Googleフォームをつくって誰かに回答してもらうときに、フォームの受付と閉鎖を自動でコントロールする(例えば時間指定する)方法について解説します!
本記事の内容
本記事では、Googleフォームの回答の受付と閉鎖を時間指定する方法を解説したいと思います。設定するととても便利ですよ。自分で設定してかなり便利でしたが、今後やるときに自分も忘れそうなので備忘録として書きます。
目次
- 目的:Googleフォームの回答の受付と閉鎖を時間指定したい
- Google App Scriptを登録する
- Googleフォームの編集ページのURLをコピーする
- Google App Scriptで新しいプロジェクトを作成する
- プロジェクトを実行するトリガーを作成する
- プロジェクトの実行を確認する
- 「特定の日時」を指定した場合は、再度時間を設定する
- まとめ
1.目的:Googleフォームの回答の受付と閉鎖を時間指定したい
ここでやりたいことは、以下の「回答受け付け」ボタンを自動でコントロールすることです。
以下の状態は回答を受け付けていない状態です。
![Googleフォームの回答の受付と閉鎖を時間指定したい](https://sumukoto.com/wp-content/uploads/2020/08/Google-form-close-1-1024x456.png)
以下の状態は回答を受け付けている状態です。
![](https://sumukoto.com/wp-content/uploads/2020/08/Google-form-response-1-1024x292.png)
ここを自由にコントロールできると、結構フォームの自由度が高まります。
定期的な出席管理やレポート提出などにも有効です。
2.Google App Scriptを登録する
まず、Google App Script に登録しましょう。
![Google App Script Sing In
Google App Scriptを登録する](https://sumukoto.com/wp-content/uploads/2020/08/app-script-sign-in-1-1024x618.png)
3.Googleフォームの編集ページのURLをコピーする
次に、コントロールしたいGoogleフォームのURLを取得します。
![Googleフォームの編集ページのURLをコピーする](https://sumukoto.com/wp-content/uploads/2020/08/google-form-edit-url-1024x654.png)
取得するURLは、上記のようにGoogleフォームの編集ページに行きURLをコピーするだけです。かんたんですね。
コピーに必要なのは以下の部分までです。
https://docs.google.com/forms/d/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/edit
どこかにメモっておきましょう!
4.Google App Scriptで新しいプロジェクトを作成する
次に、登録したGoogle App Scriptを開きます。
まず、左上の「新しいプロジェクト」をクリックします
![Google App Scriptで新しいプロジェクトを作成する](https://sumukoto.com/wp-content/uploads/2020/08/new-project-1-1024x710.png)
その後、以下の部分を変更します。
![Google App Scriptで新しいプロジェクトを作成する](https://sumukoto.com/wp-content/uploads/2020/08/new-project-code-1-1024x689.png)
まず、コード.gsの部分を以下のように書き換えます。ここで、コピーしたURLを両方に貼り付けましょう!
function closeFormAcceptance(){
var myForm = FormApp.openByUrl("https://docs.google.com/forms/d/xxxxxxxxxxxxxxxxxx/edit");
myForm.setAcceptingResponses(false);
}
function openFormAcceptance(){
var myForm = FormApp.openByUrl("https://docs.google.com/forms/d/xxxxxxxxxxxxxxxxxx/edit");
myForm.setAcceptingResponses(true);
}
そうすると、このような形になります。
![Google App Scriptで新しいプロジェクトを作成する](https://sumukoto.com/wp-content/uploads/2020/08/2-project-code-3-1024x463.png)
そしたら、保存しましょう。
![Google App Scriptで新しいプロジェクトを作成する](https://sumukoto.com/wp-content/uploads/2020/08/3-project-save-2.png)
好きな名前で結構ですが、わかり易い名前にするほうが良いです。
![Google App Scriptで新しいプロジェクトを作成する](https://sumukoto.com/wp-content/uploads/2020/08/1-project-name-1.png)
これで、プロジェクトは完成です。以下のように「自分のプロジェクト」の中に新しくプロジェクトが追加されているのを確認します。
![Google App Scriptで新しいプロジェクトを作成する](https://sumukoto.com/wp-content/uploads/2020/08/4-my-project-1-1024x459.png)
5.プロジェクトを実行するトリガーを作成する
次に、この新しく追加したプロジェクトを実行する「トリガー」を作成します。
このトリガーによって好きな時間にプロジェクトを実行することが出来ます。
トリガーを作成したいプロジェクトの一番右の「・・・」をクリックします。「トリガー」を選択します。
![プロジェクトを実行するトリガーを作成する](https://sumukoto.com/wp-content/uploads/2020/08/5-push-trigger-1-1024x516.png)
右下の「トリガーを追加」をクリックします。
![プロジェクトを実行するトリガーを作成する](https://sumukoto.com/wp-content/uploads/2020/08/6-push-trigger-2-1-1024x795.png)
トリガーの設定画面が出ますので、ここを設定します。
![プロジェクトを実行するトリガーを作成する](https://sumukoto.com/wp-content/uploads/2020/08/7-trigger-status-1-1024x931.png)
- 実行する関数を選択:実行したい関数を選択しましょう!
- 実行するデプロイを選択:Head(デフォルトでOK)
- イベントのソース選択:ここでは、「時間主導型」を選びます。
- 時間ベースのトリガーのタイプを選択:「特定の日時」をえらびます。(定期的に実行したい場合は、月、週などを選べます)
- エラーの通知設定:デフォルトでOK
以下のような感じになります。
![プロジェクトを実行するトリガーを作成する](https://sumukoto.com/wp-content/uploads/2020/08/9-trigger-status-3-2-1024x962.png)
保存ボタンを押しましょう!
「マイトリガー」を見て、保存されているのを確認しましょう!
![プロジェクトを実行するトリガーを作成する](https://sumukoto.com/wp-content/uploads/2020/08/10-my-trigger-1-1024x409.png)
6.プロジェクトの実行を確認する
時間通りに実行されているかどうかを確認します。
左のメニューの中の「実行数」をクリックします。
![プロジェクトの実行を確認する](https://sumukoto.com/wp-content/uploads/2020/08/11-execusion-1024x507.png)
何度も実行をかけていますが、時間指定の実行の場合は、時間ピッタリの実行ではありません。
だいたい誤差が2−7分程度あります。そのため、すこし余裕を持って時間指定をしておかないといけません。
7.「特定の日時」を指定した場合は、再度時間を設定する
プロジェクトを日付指定(例:2020-08-08 12:00 など)で実行した場合は、マイトリガーを見たときに前回の実行が「無効」となります。
実行が一回だけだからですね。
そのため、実行後に再度実行する場合は、トリガーの編集をする必要があります。
![「特定の日時」を指定した場合は、再度時間を設定する](https://sumukoto.com/wp-content/uploads/2020/08/12-change-time-execution-1024x507.png)
エラー率の隣にある鉛筆マークをクリックすると編集できます。
![「特定の日時」を指定した場合は、再度時間を設定する](https://sumukoto.com/wp-content/uploads/2020/08/13-change-status-1-1024x329.png)
ここであたらしい日付を入れます。
![「特定の日時」を指定した場合は、再度時間を設定する](https://sumukoto.com/wp-content/uploads/2020/08/9-trigger-status-3-1-1024x962.png)
8.まとめ
本記事では、Googleフォームの回答の受付と閉鎖を時間指定する方法を解説しました。そんなに難しくないので、おすすめです。