Google Apps Scriptで、スプレッドシートからメール送信
メールを送信するのは結構めんどう。
普段やりとりはSlackにしているから、でもあるが
タイトル( Subject )と本文( Body )、それも宛名や
手紙調(でもないがSNSでは使わない表現)を書くのを
ほんとーに省略したい。
そこで、必要な項目をスプレッドシートに書いておき、
ボタンクリックで送信できれば、ちょっとマシになる。
というわけで、GAS( Google Apps Script )、行ってみよう。
書く分にはJavaScriptだが、ブラウザで動作するのでも、
サーバで動作するのでもない。
クラウドで実行されるので、パソコンやアプリを意識せず、
Googleサービスを操ることを考えればOK。
スプレッドシートに書いてある項目を取り出して、
メールサービスに送ってもらう。
まず、スプレッドシートでワークシートを取得する
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName( 'SendMail' );
次に、データを取得する。
2行目( A2〜C2セル )に「宛先」「タイトル」「本文」があるとする。
const recipient = sheet.getRange( 2, 1 ).getValue();
const subject = sheet.getRange( 2, 2 ).getValue();
const body = sheet.getRange( 2, 3 ).getValue();
取得したデータを使って、メールを送信する。
MailApp.sendEmail( recipient, subject, body );
と、これで送信できる。
スプレッドシートから「ツール」メニューの「スクリプトエディタ」
を選択してエディタを表示させると、スプレッドシートに紐づいているから
ファイルのpathを指定してファイルを開く、という操作は必要ない。
ワークシートを「シート名」で特定して、セルを操作して、
メールに渡して送信。
必要なことだけ考えればコードが書けるのは、ありがたい。
もしかして、学生にコードを書かせるのに、GASが一番向いてたりして?
検討してみよう。