Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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