2011年8月15日月曜日

【業務で使える】セミナー申込管理ツール(6)申込状況報告①

スプレッドシートに保存された申込者情報を使って、現在の申込状況報告をメール送信するスクリプトを作成します。

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


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


OnOpen関数とmySendReport関数を追加入力します。
既に入力されているmySendMail関数に関しては何の変更もありません。
function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [{name: "申込状況報告", functionName: "mySendReport"}];
  ss.addMenu("拡張", menuEntries);
}
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 = "service@ktco.co.jp"; // 担当者

  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」には正しいものを設定して下さい。


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


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


0 件のコメント:

コメントを投稿