2011年7月22日金曜日

【使えるパーツ】メール送信(1)宛先が1つだけの場合

スプレッドシート上に入力された宛先、件名、本文を使ってメール送信を行う基本形のサンプルです。


まず、スプレッドシートを新規作成してから、スクリプトエディタを起動し、以下のスクリプトを記述します。
function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [{name: "実行", functionName: "myFunction"}];
  ss.addMenu("拡張", menuEntries);
}
function myFunction() {
  var sh = SpreadsheetApp.getActiveSheet();
  var mail_to = sh.getRange("A2").getValue();
  var subject = sh.getRange("B2").getValue();
  var body = sh.getRange("C2").getValue();
  MailApp.sendEmail(mail_to, subject, body);
  Browser.msgBox("メールを送信しました!");
}


このスクリプトを保存し、スクリプトエディタも閉じます。


更に、スプレッドシートも保存し、スプレッドシートの画面も閉じます。


一旦閉じたスプレッドシートを開くと「拡張」メニューが追加されます。


2行目に、宛先、件名、本文を入力し、「拡張」メニューから「実行」を選択します。


初めて実行した時は以下のメッセージが表示されます。
ここで「OK」を押して承認しないとスクリプトは実行されません。


ただし、承認した時はスクリプトが実行されていませんので「拡張」メニューから「実行」をもう一度選択してスクリプトを実行します。




このスクリプトのポイントは、以下の3点です。
・SpreadsheetApp.getActiveSheet()で現在アクティブなシートを取得
・シート.getRange("セルの位置").getValue()でセルの値を取得
・MailApp.sendEmail(mail_to, subject, body)でメール送信

【参考にしたサイト】
Google Code > Tutorial: Creating Your First Spreadsheet Script
http://code.google.com/intl/ja/googleapps/appsscript/articles/yourfirstscript.html
Google Code > Tutorial: Sending emails from a Spreadsheet
http://code.google.com/intl/ja/googleapps/appsscript/articles/sending_emails.html


0 件のコメント:

コメントを投稿