スプレッドシートから直接グラフデータがメール送信出来たら・・
PDCAの報告や確認が超絶捗りますよね!
もし自由自在にそんなメールを作ることが出来たら、クリティカルな業務の半分は終わったようなものではないでしょうか?

というわけで今回は前回記事に続く応用編、
スプレッドシートをメール送信!
スクリプトでグラフデータを送る方法!
についてご紹介いたします。
AMP表示での閲覧について
本記事はβ版でAMP対応しておりますが、AMP表示では「スクリプトコード」の閲覧ができなくなります。予めご承知おき下さい。
スプレッドシートをメール送信!スクリプトを使ってグラフも自動レポート!

https://pixabay.com/users/FirmBee/
通常スプレッドシートはメール添付は出来ないので、URLを本文に貼付して宛先に送信します。
でもどうせならURLを開かずにグラフや実績データを参照したいですよね。

そ・こ・で!
「グラフデータ」自体をスクリプトを使って、
メールに埋め込んじゃおうぜ!
というのが今回の狙いなわけです。
スプレッドシート・グラフデータ添付のスクリプトの答え
ではいきなり本記事のスクリプトの答えはコチラ↓
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
function iPhone8chart() { //グラフにしたいシートを指定// var mySheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("iPhone8X比較"); var range1 = mySheet.getRange("A1:C4");//グラフにする範囲1 //chart1を作成 var chart1 = mySheet.newChart() .addRange(range1) //getrangeで取得したデータ範囲を指定する .setPosition(6,1,0,0) //グラフ表示位置(行、列、Xpx、Ypx) .asColumnChart() //棒グラフを挿入 .setOption('title','iPhone比較画面') //タイトルを表示 .setOption('titleTextStyle' ,{color: '#002777', fontSize: 20}) //タイトルのテキストを変更 .setOption('legend', {position: 'top', textStyle: {color: '#004d91', fontSize: 16}})//凡例の色テキスト設定 .setColors(["darkblue", "darkgray"])//グラフの色を設定 .build();//グラフを作成 mySheet.insertChart(chart1);//グラフをシートに挿入 //グラフの画像を取得 var imageBlob = chart1.getBlob().getAs('image/png').setName("chart1_image.png"); //GMailAppにsendEmailメソッドを実行してメールを送信する// GmailApp.sendEmail( '******@gmail.com',//宛先を記入 'iPhone8の比較表',//件名を入力 'iPhone8・Xのスペック比較表です。ご確認下さい。', //メール本文 {attachments: [imageBlob]} ); } |
とはいってもこれでは意味が分からないので、解説していきます。
先ずはメール送信で埋め込みたいグラフのデータを準備していきましょう。
1.スプレッドシートのデータを準備する
今回はサンプルとしてiPhone8Xスペック比較データを作成しました。
次にスクリプトエディタを使う準備を行います。
データをグラフにする準備
スプレッドシートのメニューから「ツール > スクリプトエディタ」を選択。
スクリプトエディタの画面を開いたら・・
タイトルを分かりやすく書き換えおきましょう。
スプレッドシートのシート名を"iPhone8X比較"に変更しておきます。(お好きなシート名に変更してください)
これでスクリプトエディタを使う準備は完了です。
次のページではグラフを作って挿入する「コピペスクリプト」をご紹介いたします。