見出し画像

Google Apps Scriptを使って欠席連絡フォームを作ってみる(3)

こんにちは。高校で情報の先生をしていますTakitoです。
ご高覧いただきありがとうございます。
Google Apps Script(GAS)を使った欠席連絡フォームの作成記録です。
前回はGASでメールを送信できることを確認して、Googleフォームで送信ボタンを押したときにメールが送信されるようにしました。

今回はフォームの内容をメール本文に記載するプログラムを作りました。

function myFunction(e) {
  const items = e.response.getItemResponses();
  const email = 'xxxxxxx@yyyyy.com';
  const subject = '欠席連絡';
  let body = '';
  
  for (let i = 0; i < items.length; i++) {
    let item = items[i];
    body += item.getItem().getTitle() + ': ' + item.getResponse() + '\n';
  }
  
  GmailApp.sendEmail(email, subject, body);

}

メールの送信部分は前回作ったところなので、新しく作った部分を記録しておきます。

1.フォームからの内容の取り出し

myFunctionに引数( 変数e )を入れると、フォームからのすべての質問の回答が変数eに入ります。次に.response.getItemResponses()で各質問を1問ずつ分けて( items )に保存します。
今回の質問数は5問なのでitems[0]からitems[4]ができます。itemsの中には何番目の質問か、質問のタイトル、回答などのデータが入っています。

function myFunction(e) {
  const items = e.response.getItemResponses();

2.メール本文の作成

.getItem().getTitle()で質問タイトル、.getResponse()で回答を取り出します。
取り出した質問のタイトルと回答は、「質問タイトル:回答」という形式でメール本文に追記します。
for文でitems[0]からitems[4]全ての質問タイトルと回答をメール本文に追記します。

let body = '';
for (let i = 0; i < items.length; i++) {
  let item = items[i];
  body += item.getItem().getTitle() + ': ' + item.getResponse() + '\n';
}

3.動作チェック

欠席連絡フォームから1件欠席連絡を送って・・・

そして、メールを確認。よし、届いてる!

今回はここまで。
次の目標は、担任の先生へ欠席連絡メール届くようにすること。
いまのプログラムだと、コード内に記載したメールアドレスにしかメール送信できないので、欠席連絡フォームからの送信データによって送信先のメールアドレスが変わるようにしてみようと思います。

この記事が気に入ったらサポートをしてみませんか?