今回は、Qlik Senseから少し離れます。
Googleのサービスが好きで、特にGoogle Spreadsheetの活用が大分好きです。
その中でもGoogle FormとGoogle Spreadsheet、さらにGoogle Apps Scriptを連携させた例を書きます。
何を書くかというと、Google Form投稿後のメール送信です。
ちなみに、このサイト内にあるCONTACT MEにも導入しています。
とりあえず、Google Formでフォームを作ってGoogle Spreadsheetと連携させます。
※この部分の説明は省きます。
そして、Google Apps Scriptを書くべく、ツール>スクリプトエディタを開きます。
で、あとは以下のコードを記載します。
// フォーム送信されたら起動され、最終行の内容をメールに記載して、送信する
function wmapp_contact_me_mail_send() {
// 件名、本文
var subject = '/*ココにメールのタイトルを記入*/';
var body = '';
// メール送信先(管理者等)
var mail_admin = 'XXXXXXXXXXXX@gmail.com';
var mail_cc = 'XXXXXXXXXXXX@gmail.com';
var mail_reply = mail_admin;
var mail_to = 'XXXXXXXXXXXX@i.softbank.jp';
try{
// スプレッドシートの操作
var sh = SpreadsheetApp.getActiveSheet();
var rows = sh.getLastRow();
var cols = sh.getLastColumn();
var rg = sh.getDataRange();
Logger.log('rows='+rows+' cols='+cols);
// メール本文作成
for (var j = 1; j <= cols; j++ ) {
var clmn_name = rg.getCell(1, j).getValue(); // カラム名
var clmn_value = rg.getCell(rows, j).getValue(); // 入力値
body += ( '【' + clmn_name + '】' + '\n' + clmn_value + '\n\n' );
}
// メール送信
if ( mail_to ) {
MailApp.sendEmail(mail_to, subject, body, {cc : mail_cc, replyTo : mail_reply});
}else{
MailApp.sendEmail(mail_admin, 'error spreadsheet none mailaddress', body);
}
}
catch(e){
MailApp.sendEmail(mail_admin, 'error spreadsheet func: wmapp_contact_me_mail_send()', e.message);
}
}
このコードの記述が完了したら、あとはトリガーをセットするだけ。
リソース>現在のプロジェクトのトリガー>新しいトリガーを設定>イベント>スプレッドシートから>フォーム送信時
スクリプトを起動する際に、Googleから承認を求められるので、承認を押してください。
これで、セッティング完了です。
フォームが投稿される度に最終行の内容が取得されて、ヘッダーとその最終行の内容を送信してくれるという仕組みです。
ビジネスにも使えるかなり素敵な仕組みです。