スプレッドシートで作成したシートをGmailで自動で送付する方法をご紹介します。
スプレッドシートをpdf等でエクスポートして添付する手間が省けます。
仕事でG Suiteを使っているのであれば、スプレッドシートのブックをテンプレートにできるため、頻繁に使うものは今回のスクリプトを実装した上でテンプレートに登録しておくと非常に便利です。
完成イメージ
このシートで追加機能よりメール送付をクリックすることで、pdf形式でメールに添付するプログラムにしたいと思います。
クリックして実行するとこのようになります。
宛先・件名・本文が入り、ファイルが添付された状態で下書きができます。
実際のスクリプト
function sendmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("シート名") //シート名を入れます。
var sheetID = sheet.getSheetId();
var key = ss.getId();
var ui = SpreadsheetApp.getUi();
var token = ScriptApp.getOAuthToken();
var to = "example@tori33.com" //宛先を入れます。その都度変わる場合は空白でもOKです。
var subject = "果物の注文" //件名です。こちらも空白でも構いません。
var message = "テストメールだよ。" //本文です。こちらも空白でも構いません。
var name = "ファイル名.pdf"; //ファイル名です。必ず拡張子を付けます!
var url = "https://docs.google.com/spreadsheets/d/" + key + "/export?gid=" + sheetID +
"&format=pdf&portrait=true&size=A4&gridlines=false&scale=4"
var file = UrlFetchApp.fetch(url, {headers: {'Authorization': 'Bearer ' + token}}).getBlob().setName(name);
GmailApp.createDraft(to,subject,message,{attachments:file});
}
補足
エクセルで添付する場合
pdfではエクセル形式で添付することも可能です。
その場合、コードの下記部分を変更して下さい。
- 12行目→ファイル名の拡張性を”.xlsx”に変更
- 15行目→”format=xlsx”に変更
下書きにせずにメールを送る場合
下書きを作成することなく、メールを送ることも可能です。
この場合、少なくとも宛名のアドレスを入力する必要があります。
18行目のcreateDraftを”sendEmail”に変更します。
その他の詳細設定
15行目を編集することでページの向きやサイズ、グリッド線の有無などの変更ができます。
- portrait=:true→縦, false→横
- size=:用紙のサイズを入力(A4, A3, B5など)
- gridlines=:true→グリッド線あり, false→グリッド線なし
- scale=:1→標準サイズ, 2→幅に合わせる, 3→高さに合わせる, 4→ページに合わせる
他にもページ番号の表示や余白の幅の調整などもできますので、詳しく知りたい方は調べてみて下さい!
Googleのサービスはexcelなどとは違ってウェブ上で動作するため、スプレッドシートとGmail以外にもGoogleカレンダー、slack、チャットワークなど様々なサービス同士の連携ができます。
そして、Google Apps Scriptを利用すれば、今まで時間がかかっていた作業を減らすことも可能です!
これからGoogle Apps Scriptを学んで実務に取り入れたい人におすすめの本をご紹介します。
『Google Apps Script 目的別リファレンス 実践サンプルコート付き』は今年の8月に出たばかりの最新の本になります。
タイトル通り目的別で載っているので、すぐ業務改善にGoogle Apps Scriptを取り入れたいという方にぴったりです!
『Google Apps Script 完全入門』は2年ほど前に出版された本ですが、最近改訂版が出ました!
Googleの新しい開発環境V8に対応しています。
Google Apps Scriptの基礎について考え方から丁寧に書かれているので、プログラミングにまったく触れたことのない人にもお勧めできます。
>Google Apps Scriptに関する本について詳しく知る