このページの本文へ

30分で作れる!セミナー受付がラクになる自動システム (4/4)

2014年04月16日 11時00分更新

文●掌田津耶乃

  • この記事をはてなブックマークに追加
本文印刷

参加者チェックシートを自動生成する

 セミナー当日に必要なものに、来場した参加者のチェックシートがあります。せっかくGoogleスプレッドシートにフォームで送信された情報がまとまっているのですから、そのデータを利用してチェックシートを自動生成するスクリプトも作ってみましょう。

 リスト5をスプレッドシートのスクリプトエディタに追記してください。「☆スプレッドシートのID☆」には、それぞれのGoogleスプレッドシートのIDを記述します。また「☆メールアドレス☆」には、あなたのメールアドレスを指定してください。

 作成後、先ほどのreminderと同様に、セミナー当日に実行するようにトリガーを追加しておきます。この場合は「実行」に「createCheckSheet」を選び、そのほかの項目はreminderとまったく同じに設定します(時間主導型/特定の日時/2014-07-07 07:00)。これで、当日になると出席者チェック用のシートを自動生成し、管理者にメールを送信します。

リスト5

function createCheckSheet() {
  var sheetId = '☆スプレッドシートのID☆';
  var spreadsheet = SpreadsheetApp.openById(sheetId);
  var sheet = spreadsheet.getSheets()[0];
  var newsheet = spreadsheet.insertSheet('チェックシート');
  newsheet.getRange(1, 1).setValue('お名前');
  newsheet.getRange(1, 2).setValue('参加/不参加');
  var rowcount = sheet.getLastRow();
  var range = sheet.getRange(2, 4, rowcount);
  var rw = range.getNumRows();
  var cl = range.getNumColumns();
  var datas = range.getValues();
  datas.sort();
  var count = 2;
  for(var i = 0;i <= datas.length;i++){
    if (datas[i] == undefined){ break; }
    if (datas[i][0] == ''){ continue; }
    newsheet.getRange(count, 1).setValue(datas[i][0]);
    var rule = SpreadsheetApp.newDataValidation().requireValueInList(['出席','欠席']).build();
    newsheet.getRange(count, 2).setDataValidation(rule);
    count++;
  }
  var message = '<html><body><p>※本日のセミナー用参加者'
    + '※<a href="' + spreadsheet.getUrl() + '">チェックシート</a>を作成しました。'
    + '</p></body></html>';
  MailApp.sendEmail({
    to: '☆メールアドレス☆',
    subject: 'セミナー参加者チェックシート', 
    htmlBody: message
  });
}

チェック用のシート。申し込み者名の一覧と、「参加」「不参加」のリストが表示されるセルが自動生成される

 変数namecolumnで参加者の名前が記述されている列の番号を指定してあります。オリジナルのフォームで利用する場合は、この数字を調整して使ってください。

 このスクリプトでは、セミナー申し込みスプレッドシートに「チェックシート」というシートを作成し、そこにABC順に並べ替えた参加者名の一覧と、参加・不参加のチェック用の項目を用意します。チェック項目では、セルの右端をクリックすると、「参加」「不参加」のポップアップリストが現れるので、項目を選ぶだけで入力できます。

 今回は、マップ付きメールとリマインダーメールを送信し、受講者のチェック用シートを自動生成するシステムを作ってみました。次回は、GASを使ったアンケートシステムを紹介します。

前へ 1 2 3 4 次へ

この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています