Googleフォームの回答をスプレッドシートに記録するときに、回答一つひとつにUUIDを付与する方法です。
次の手順で設定していきます。
- Googleフォームを作る
- 回答用スプレッドシートを作る
- 回答用スプレッドシートのApps ScriptでUUIDを付与するスクリプトを作成する
- 回答用スプレッドシートのトリガーを設定する
Googleフォームを作る
いつものようにGoogleフォームを作ります。今回は承認アプリをイメージして、申請内容と承認者のメールアドレスを記入します。
回答用スプレッドシートを作る
Googleフォームの回答タブで、新規でスプレッドシートを作ります。説明を簡単にするために新規にしていますが、既存のスプレッドシートを選択しても構いません。
スプレッドシートを作成したら、UUIDを記録するため、最後の列に「ID」列を追加します。
回答用スプレッドシートのApps ScriptでUUIDを付与するスクリプトを作成する
上記で作成した回答用スプレッドシートの上部メニュー「拡張機能」から「Apps Script」を選択して、スクリプトエディターを起動します。
以下のコードを記入して、保存します。
function onFormSubmit(e) {
const range = e.range;
const sheet = range.getSheet();
sheet.getRange(range.getRow(), range.getLastColumn() + 1).setValue(Utilities.getUuid());
}
Googleスプレッドシートのイベントのうち、フォーム送信のイベントを受け取り、追加した行の末尾にUUIDを付与するスクリプトです。
回答用スプレッドシートのトリガーを設定する
スクリプトエディターにトリガーを設定します。
- 実行する関数を選択
- onFormSubmit
- 実行するデプロイを選択
- HEAD
- イベントのソースを選択
- スプレッドシートから
- イベントの種類を選択
- フォーム送信時
- エラー通知設定
- 今すぐ通知を受け取る
これで設定は完了です。Googleフォームで入力した情報が回答のスプレッドシートに表示されるとき、最後のID列にUUIDが記載されることを確認してください。