社会人なら必須スキル！GASを使って業務改善①Googleフォームからメールを自動返信

# 対象

- すべての社会人
- 業務を効率化したい
- 簡単なアンケートフォームを作成したい

## 概要
働いていると何かとアンケートや集計を取りたい、、、、そんなことありますよね。
そんな時に手軽に使えるのってGoogleフォームだと思います！

Googleフォームってリンクでも送れるし、webサイトにも埋め込めるしめちゃめちゃ便利ですよね！！！
けどフォームを送信して何も帰ってこなかったら本当に送信できたのかな？？？
と送信者が不安になります。


ちょちょっとコードを書いて自動化しちゃいましょう！

## Google Apps Script（GAS）って？？
Google Apps ScriptとはGoogleが開発しているプログラミング言語です。
ブラウザ上でかけるJavaScriptベースでかけるので言語経験がある方には非常に使いやすく簡単な言語になっています！

では早速やっていきましょーう！

## 適当にフォームを作成する
今回は簡単なアンケートフォームを作成しましょう！！
![スクリーンショット 2021-02-07 21.44.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/a1b7d664-229d-62c9-c79d-d48c886eca61.png)
まずはGoogleアカウントからドライブに入っていきましょう！！

新規→Googleフォームをクリック！！

![スクリーンショット 2021-02-07 21.47.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/405d2035-8332-2457-055b-9cd673196473.png)
自分の好きなように適当に作成しちゃってください♪

作り方はめっちゃ簡単なので直感的にやればわかると思います。
ちなみに選択するボタンはラジオボタンってやつでできます。
いろいろ試して見ましょう！！

## Google Apps Scriptを実装していく
フォームができたところで早速コード書いていきましょう！
![スクリーンショット 2021-02-07 21.49.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/4812adfc-2650-3af9-4ede-e6d25bc97560.png)

メニューボタンからスクリプトエディタを開いてください！
![スクリーンショット 2021-02-07 21.51.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/ce1a4eba-3082-6349-0545-4c4c22e41b21.png)

こんな感じになってますね〜
これがGASをかけるエディタです！
もうここにJavaScriptベースで書いていけます。
環境構築せずにブラウザで起動できるので本当に便利ですね！

とりあえずmyFunctionは消して
コードを書き換えましょう！

```
function sendEmail(e) {
  var itemResponses = e.response.getItemResponses();
  var name = itemResponses[0].getResponse();
  var email = itemResponses[1].getResponse();
  var questionnaire = itemResponses[2].getResponse();


  var to = email;
  var subject = "イベントの申し込みの確認メール";
  var body = "\
  ${name}様\n\n\
  アンケートにご協力していただきありがとうございます。\n\
  以下のアンケート結果で承りました。\n\n\
  アンケート結果: ${questionnaire}".replace("${name}", name).replace("${questionnaire}", questionnaire);
  GmailApp.sendEmail(to, subject, body);
}

```

説明していきます。
まずfunction sendEmailで関数を定義しています引数の(e)はeventのeの略です。
これでイベントを取得できます。

varは変数ですね。GASはletじゃなくてvarで書くみたいです。

まずitemResponsesでイベントの配列を取得しています。getItemResponses()はGoogleが提供しているメソッドです。
その下は配列から名前、メールアドレス、アンケート結果をそれぞれ取得している感じですね。
フォームの上からインデックス番号で取得できます。

そして一番下でGmailApp.sendEmail(to, subject, body)で関数を実行しています。
引数は左から、宛先、タイトル、本文です。

toは宛先なのでemailを代入
subjectは適当に入力しましょう。
bodyのとこに結構暗号が書いてありますね笑

\nは改行を意味する特殊文字です。
さらにエディタ上で改行する場合は\をもう一つ追加します。

最後にreplaceメソッドを使ってますね。
これはJavaScript使ってる人ならわかりやすいかもしれないですが、簡単にいうと第一引数を第２引数に置き換えるということです。

つまり${name}をnameに置き換える。
nameはitemResponsesの配列の0番目を取得しているので、お名前の記入欄に書いた文字が代入されてます。

これで準備はおっけい！！！

## トリガーを実行する
コードを書いただけでは、GASは実行されません。
![スクリーンショット 2021-02-07 22.15.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/b8b738d6-65fd-a412-13c9-e5bd36057fbf.png)
メニューボタンのところからトリガーを選択しましょう！

![スクリーンショット 2021-02-07 22.15.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/54815c20-8aef-67b0-ecf8-e55f2d454717.png)
トリガーを追加でこんな風に書いてください。

実行する関数はsendEmailですね。さっき書いたコードのことです。
イベントのソースは今回はGoogleフォームからなのでフォームからを選択
イベントの選択はフォーム送信時を選んでください（これで送信したと同時にトリガーが発動されます）

エラー通知に関してはエラーの通知なので、取りたいタイミングで任意で選んでください！

これで完成でーす！！！

## 実行

では実行してみましょう！
![スクリーンショット 2021-02-07 22.18.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/329dc6bd-1251-fe73-e444-1b4be5acf115.png)
実行はプレビューからできます。

![スクリーンショット 2021-02-07 22.19.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/30fb4daf-72e4-24d8-571b-e9125e5d4cd3.png)

メールアドレスは送信したいメールアドレスを選択してください。(試す場合は自分のメールアドレスを)
自分は有村架純が好きなので選択します。

![スクリーンショット 2021-02-07 22.21.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/899b07f5-4a92-ee11-d29c-c63074b569b1.png)
お疲れ様でした！！

## 番外編
フォーム作ったら自分で使っててもつまんないですよね笑
リンクで送るには
![スクリーンショット 2021-02-07 22.22.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/d845b54e-63d4-97c9-e857-b37b86461bf0.png)
送信を押してリンクを取得します。

![スクリーンショット 2021-02-07 22.23.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/adae5773-1801-78cc-8c17-3d6895c65a4a.png)
こっちを選択するとwebサイトにも埋め込めます！！

```index.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <iframe
    src="https://docs.google.com/forms/d/e/1FAIpQLSd-TvhoxPdyfcuEzp6c-VbfXbDlHWutI1MxN0eVDkh6Pfdq2w/viewform?embedded=true"
    width="640" height="824" frameborder="0" marginheight="0" marginwidth="0">読み込んでいます…</iframe>
</body>
</html>
```

![スクリーンショット 2021-02-07 22.25.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825833/2495e6d2-1dd2-9431-f4d2-a2981ebccc3a.png)

お疲れ様でした！！！！