2011年8月15日月曜日

【業務で使える】セミナー申込管理ツール(8)リマインドメール①

申込者全員にリマインドメールを一斉送信するスクリプトを作成します。

まず、セミナー申込のスプレッドシートを開きます。


「ツール」メニューから「スクリプト エディタ...」を選択します。


mySendRemind関数を追加入力し、onOpen関数の一部を変更します。
既に入力されているmySendReport関数とmySendMail関数には変更はありません。
function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [];
  menuEntries.push({name: "申込状況報告", functionName: "mySendReport"});
  menuEntries.push({name: "リマインドメール", functionName: "mySendRemind"});
  ss.addMenu("拡張", menuEntries);
}
function mySendRemind(e) {
  var sh = SpreadsheetApp.getActiveSheet();
  var mail_cc = "xxxx@xxxx.xx.xx"; // 担当者
  var subject = "リマインドメール";
  var body_tmp = "イベントの日が近づいて参りました。\n";
  body_tmp = body_tmp + "皆様のご参加をお待ちしております。\n\n";
  body_tmp = body_tmp + "日時:yyyy年mm月dd日 hh:mm~hh:mm\n";
  body_tmp = body_tmp + "場所:XXXXXXXX\n\n";
  body_tmp = body_tmp + "イベント事務局\n" + mail_cc;

  var rg = sh.getDataRange();
  var rows = rg.getLastRow();  //最終行を取得
  var values = rg.getValues(); //データを配列に格納

  for (var i = 1; i < rows; i++) {
    var name = values[i][1];
    var company = values[i][2];
    var mail_to = values[i][3];
    var body = company + "\n" + name + " 様\n\n" + body_tmp;
    MailApp.sendEmail(mail_to, subject, body, {cc: mail_cc});
  }
  Browser.msgBox("メールを送信しました!");
}
function mySendReport(e) {
  var sh = SpreadsheetApp.getActiveSheet();
  var mail_to = "yyyy@xxxx.xx.xx"; // 報告先
  var subject = "申込状況報告";
  var body = Utilities.formatDate(new Date(), "JST", "yyyy/MM/dd' 'HH:mm");
  body = body + " 時点の情報:\n\n";

  var rg = sh.getDataRange();
  var rows = rg.getLastRow();  //最終行を取得
  var values = rg.getValues(); //データを配列に格納

  for (var i = 1; i < rows; i++) {
    body = body + i + ". " + values[i][1] + " " + values[i][2] + " " +  values[i][3] + "\n" ;
  }
  body = body + "\n以上です。";

  MailApp.sendEmail(mail_to, subject, body);
  Browser.msgBox("メールを送信しました!");
}
function mySendMail(e) {
  var name = e.namedValues["氏名"];
  var company = e.namedValues["会社名"];
  var mail_to = e.namedValues["メール"];
  var mail_bcc = "xxxx@xxxx.xx.xx"; // 担当者

  var subject = "申込完了のお知らせ";
  var body = company + "\n" + name + " 様\n\n";
  body = body + "この度は申し込みいただき、誠に";
  body = body + "ありがとうございます。\n\n";
  body = body + "なお、十分な座席数をご用意しておりますが、";
  body = body + "お申込多数の場合、抽選とさせて\n";
  body = body + "頂く場合がございます。予めご了承いただけ";
  body = body + "ますようお願い申し上げます。\n\n";
  body = body + "イベント事務局\n" + mail_bcc;

  MailApp.sendEmail(mail_to, subject, body, {bcc: mail_bcc});
}
【注意】
報告先のメールアドレス「yyyy@xxxx.xx.xx」や、担当者のメールアドレス「xxxx@xxxx.xx.xx」には正しいものを設定して下さい。


フロッピーディスクのマークをした「保存」ボタンを押し、名前を付けて保存します。


これにて、スクリプトの作成は完了です。
ウィンドウの×ボタンを押してスクリプトエディタを閉じます。



【おまけ】新ブログを開設しました。
『ExcelユーザーのためのGoogleスプレッドシート入門』
Excelはフツーに使えるよという方でも、Googleスプレッドシートを使った時にはアレッと思うことが結構あるものです。そういう方々向けの企画です。


0 件のコメント:

コメントを投稿