【GAS】スプレッドシートをPDFに変換&メールに添付して送る方法。
スプレッドシートをPDFに変換して、メールに添付して送る。
請求書や納品書、資料など、スプレッドシートで作成している方も多いと思います。
通常であれば、シートをPDFファイルにしてダウンロード⇒メールを作成&ファイルを添付して送信という操作になると思いますが、もっと簡単にできないか?という事で、
今回は、GAS(Google Apps Script)を使って、スプレッドシートのPDF化からメール送信まで一気にできる方法をご紹介いたします。
ソースコード
解説
①現在開いているスプレッドシート(ブック)を取得する
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
②現在開いているスプレッドシート(ブック)のIDを取得する
var key = spreadsheet.getId();
③PDFにしたいワークシートを指定する
var sheetName = spreadsheet.getSheetByName(“(例)sheet1”);
④PDFにしたいワークシートのgidを取得する
var gid = sheetName.getSheetId();
⑤アクセストークンを取得する
var token = ScriptApp.getOAuthToken();
⑥PDFのURLを作る
var url = “https://docs.google.com/spreadsheets/d/” + key + “/export?gid=” + gid + “&format=pdf&portrait=false&size=A4&gridlines=false&fitw=true”
⑦PDF生成するURLをfetchする
var pdf = UrlFetchApp.fetch(url, {headers: {‘Authorization’: ‘Bearer ‘ + token}}).getBlob().setName(“ファイル名を入力”+”.pdf”);
⑧作成したPDFをメールに添付して送信します。
var to = “送信先のメールアドレスを入力”;
var subject = “メールのタイトルを入力”;
var body =”メールの本文を入力”;
GmailApp.sendEmail(to,
subject,
body,
{attachments: pdf})
}
PDFの書式設定
上記のコードでは、
・A4サイズ
・横向き
・グリッドなし
・幅を用紙に合わせる
という書式になっています。
6のPDFのURLを作る箇所で
&format=pdf&portrait=false&size=A4&gridlines=false&fitw=true
の部分を以下のように変更する事で、書式の変更が可能です。
・ファイル形式の指定(pdf / csv / xls / xlsx) ⇒ exportFormat
・ファイル形式の指定(pdf / csv / xls / xlsx) ⇒ format
・用紙サイズの指定(legal / letter / A4) ⇒ size
・用紙の向き(true:縦向き / false:横向き) ⇒ portrait
・幅を用紙に合わせるか(true / false) ⇒ fitw
・シート名をPDF上部に表示するか(true / false) ⇒ sheetnames
・スプレッドシート名をPDF上部に表示するか(true / false) ⇒ printtitle
・ページ番号の有無(true / false) ⇒ pagenumbers
・グリッドラインの表示有無(true / false) ⇒ gridlines
・固定行の表示有無(true / false) ⇒ fzr
まとめ
今回は、一番シンプルに実装する方法のご紹介でした。
他にも宛先を複数設定したり、本文をより充実させたり、送信時のアラート設定、添付ファイルの複数化などより便利な仕様を追加する事もすので、次回以降、ご紹介していきたいと思います。
Web運営にお困りの方、お問い合わせください。
サイト制作のご相談はもちろん、現状サイトの課題から広告・宣伝の課題、SEOに関するご相談まで、なんでもお気軽にご相談ください。 サイト制作のご相談はもちろん、現状サイトの課題から広告・宣伝の課題、SEOに関するご相談まで、なんでもお気軽にご相談ください。
- ホームページからの反響がない
- 業者に依頼したSEOの効果がない
- 広告の費用対効果がない
- これからWebに力を入れていきたいがどうしたら良いかわからない
“無料相談は毎月5社まで”
お問い合わせいただいた方全員に特典をご用意しています。
“相談だけでも大歓迎”まずはお気軽にお問い合わせください。
※ご相談内容によっては承れないことがあります。
“無料相談は毎月5社まで”
お問い合わせいただいた方全員に特典をご用意しています。
“相談だけでも大歓迎”まずはお気軽にお問い合わせください。
※ご相談内容によっては承れないことがあります。