LoginSignup
3
2

【備忘録】Google Formで入力した相手に自動でメールを送るスクリプト

Last updated at Posted at 2021-07-29

はじめに

とあるイベント(社外の完全ボランティア)を主催する際に、Google Formで入力いただいた相手にZoomのURLを送る運用をしましたが、当日直前でも参加したいという意思表示にも対応できるように、自動でZoomのURLを送れるようにGASで対応しました。

備忘用にスクリプトを記載します。

なお、自分以外のひと(=IT未経験者)でもメンテナンスできるように、Google Formの回答スプレッドシートにスクリプト設定シートを作成し、ZoomのURLなどはシートに記載し、その値を取得する形を取っています。

スクリーンショット 2021-07-29 21.40.11.png

[2021/07/30 修正]
メール本文(const body)をテンプレートリテラルに修正しました。
愚直に改行、文字結合をしなくてよくなりすっきりしました。

コード

send.gs
function onFormSubmit(e) {
  // フォームの回答を取得
  const name = e.namedValues['氏名'][0];
  const email = e.namedValues['メールアドレス'][0];

  // 紐づいているSpreadSheetの操作
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('スクリプト設定シート'); // シートを名前で指定して取得する

  const zoomUrl = sheet.getRange(4,3).getValue(); // c4セルの値を取得
  const mtgId = sheet.getRange(5,3).getValue(); // c5セルの値の取得
  const passCd = sheet.getRange(6,3).getValue(); // c6セルの(ry

  // 件名
  const subject = 'XXXXXイベントのご案内';
      
  // 本文
    const body =` ${name} 様

    XXXXXXでございます。

    この度はお申し込みいただき、誠にありがとうございました。

    イベントは
    mm/dd(w)hh:MM(日本時間)〜 にて行う予定です。
    詳しいスケジュール表は下記WEBサイトをご覧ください。
    URL:http://example.com

    ZOOM URL: ${zoomUrl} 
    Meeting ID: ${mtgId}
    passcode: ${passCd}
    
    なにかご不明点がございましたら、下記メールアドレスまでご連絡ください。
    以上よろしくお願いします。
    ────────────
    XXXXXイベント運営委員
    Email:event@example.com
    URL:http://example.com/`
    ;
  
  // メール送信
  MailApp.sendEmail({
    to: email,
    subject: subject,
    body: body
  });
}
3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2