Quantcast
Channel: いつも隣にITのお仕事
Viewing all articles
Browse latest Browse all 2077

【GAS】スプレッドシートをPDFにしてGmailで送付する方法

$
0
0

みなさん、こんにちは!
タダケン(@tadaken3)です。

前回は、作成したグラフを画像として、Gmailで送付する方法をお伝えしました。

【GAS】レポート共有も効率よく!作成したグラフをGmailで送る方法
Google Apps Scriptを使って、作成したグラフをメールで送付するテクニックを紹介します。初心者の方でもグラフ作成から、メールでの共有まで、自動化することができるようになります。

今回は、そこから一歩進んで、スプレッドシート全体をPDFにして、Gmailで送付する方法をお伝えします。

前回のおさらい

前回のコードは確認しましょう。
前回はChartオブジェクトに対して、getBlobメソッドで、グラフの画像を取得しましたね。
そして、GmaillAppのsendEmailメソッドで画像を送信しています。

function createChart() {
  var mySheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");
  var range = mySheet.getRange("A1:C6");
  var chart = mySheet.newChart()
              .addRange(range)
              .setPosition(1,5,0,0)
              .asColumnChart() 
              .setOption('title', '野菜の産地別販売数')
              .setOption('titleTextStyle' ,{color: '#545454', fontSize: 20})
              .setOption('legend', {position: 'top', textStyle: {color: '#545454', fontSize: 16}})
              .setColors(["darkgreen", "darkgray"])
              .build();
  mySheet.insertChart(chart);

  //グラフの画像を取得
  var imageBlob = chart.getBlob().getAs('image/png').setName("chart_image.png");

  //GMailAppにsendEmailメソッドを実行してメールを送信する
  GmailApp.sendEmail(
        'itsumo-torari-it@gmail.com',//宛先です。※架空のメールアドレスです
        '野菜のレポート',//件名です。
        '添付ファイルをご確認下さい', //本文になります。
        {attachments: [imageBlob]}
        );
}

getAsメソッドでPDFを取得する

メールに添付する場合、スプレッドシートをPDFとして取得する必要があります。
getAsメソッドを使いスプレッドシートをPDFとして取得します。

書き方は

スプレッドシートオブジェクト.getAs(‘application/pdf’).setName(ファイルの名前);

です。

getASメソッドで、「application/pdf」を指定して、PDFとして取得します。
setNameメソッドではファイル名を設定します。
スプレッドシートは、PDFしかサポートされていない点はご注意ください。

function createChart() {
  var mySheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");
  var range = mySheet.getRange("A1:C6");
  var chart = mySheet.newChart()
              .addRange(range)
              .setPosition(1,5,0,0)
              .asColumnChart() 
              .setOption('title', '野菜の産地別販売数')
              .setOption('titleTextStyle' ,{color: '#545454', fontSize: 20})
              .setOption('legend', {position: 'top', textStyle: {color: '#545454', fontSize: 16}})
              .setColors(["darkgreen", "darkgray"])
              .build();
  mySheet.insertChart(chart);
  var imageBlob = chart.getBlob().getAs('image/png').setName("chart_image.png");

 //スプレッドシートをPDFとして取得
  var pdf = SpreadsheetApp.getActiveSpreadsheet().getAs('application/pdf').setName("report.pdf"); 
  
    //GMailAppにsendEmailメソッドを実行してメールを送信する
  GmailApp.sendEmail(
        'itsumo-torari-it@gmail.com',
        '野菜のレポート',//件名です。
        '添付ファイルをご確認下さい', 
        {attachments: [imageBlob, pdf]} //添付ファイルとしてPDFを追加します
        );
}

シート単体ではなく、スプレッドシートに対して、getAsメソッドをする点にご注意ください。これでレポートをPDFとしてメールで送ることができました。

実際には、このような形で送付されます。

まとめ

今回は、getAsメソッドを使って、スプレッドシートをPDFで取得する方法をお伝えしました。

これでリッチなレポートを作成して、自動で共有できるようになりましたね。
次回も、グラフについてのテクニックを、お伝えしてきますね。

どうぞ、お楽しみに!

連載目次:GASでデータ分析!グラフを作成してデータの可視化

スプレッドシートを使う業務の中で多いのがデータの集計・分析作業です。データからインサイトを引き出すコツは「可視化」してデータを見えるようにすること。このシリーズではGoogleスプレッドシートでの集計・分析作業の効率を上げるための、Google Apps Scriptのテクニックを紹介します。
  1. Google Apps Scriptでグラフを作成する方法の最初の一歩
  2. 【グラフで説得力をあげる】Google Apps Scriptでグラフの種類を変更する方法
  3. 【複数の要素もひと目で分かる】Google Apps Scriptで積み上げ棒グラフを作成する方法
  4. 【意図を明確に】Google Apps ScriptのsetOptionメソッドでグラフタイトル・凡例を編集する方法
  5. Google Apps ScriptのsetColorsメソッドでグラフの色を設定する方法
  6. 【GAS】レポート共有も効率よく!作成したグラフをGmailで送る方法
  7. 【GAS】スプレッドシートをPDFにしてGmailで送付する方法

Viewing all articles
Browse latest Browse all 2077

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>