Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

google formで入力後に確認メールを送る

google formで入力後に確認メールを送る方法です。
受領メールの反応速度は結構商売に直結したりするので重要ですよね。
この例から作りこんで、同時に営業担当にメールが行くようにすると手間が更に減ります。

実際のところ

フォーム

以下のような入力フォームを作っておきます。
番号はセクション越しでカウントされるようです
f:id:shuzo_kino:20160523214435p:plain

トリガーの設定

GASの画面で以下の画面の位置にあるトリガ設定を開きます。
f:id:shuzo_kino:20160523214457p:plain
デフォでは何もないので設定ボタン
f:id:shuzo_kino:20160523214515p:plain
押すとタイミングがでてきます。
今回の用途なら、フォーム送信時で良いでしょう。
f:id:shuzo_kino:20160523214525p:plain

スクリプト

function myFunction(e) {
  //現在表示ているまたは、トリガー時に動作しているフォームを取得
  const form = FormApp.getActiveForm();

  //URLに記載されているkeyパラメータを利用して取得
  const formA = FormApp.openById("YOURKEY"),
        responses = form.getResponses(),
        response = responses[0];

  //一連の回答項目を取得
  const itemResponses = response.getItemResponses();
  //個別の回答項目を挿入。getResponseで明示的に取得しにいかないとイケない。
  const place = itemResponses[0].getResponse(),
        name  = itemResponses[1].getResponse();


  const sendToAddress = "YOURMAILADDR";
  const mailTitle     = "テスト送信タイトル";
  
  const sep = "\n\n********************************\n\n";
  var   mailMessage = "テスト送信です。" ;
        mailMessage += name + "さん、送信ありがとうございます。"
                    + "\n入力して頂いたデータは以下の通りです。"
                   + sep
                   + "住所: " + place
                    + "\n氏名: " + name
                    + sep
                    + "今後共よろしくお願いします";
                
  MailApp.sendEmail(sendToAddress,mailTitle,mailMessage);
}

ちゃんと送れると、こんな感じに
f:id:shuzo_kino:20160523214344p:plain