Googleスプレッドシートで作った見積書や請求書、日報などのデータを、そのまま相手にメールで送りたいと思ったことはありませんか?
スプレッドシートはクラウド上のファイルなので、Excelのように「ファイルをドラッグ&ドロップしてメールソフトに添付する」という操作がすぐにはできません。
解決策として、スプレッドシートには「直接PDFやExcelに変換してメール送信する標準機能」が備わっていますが、実はこの機能には「送信履歴(送信済み)が残らない」という致命的な落とし穴があります。
この記事では、手軽にファイルをメール添付する手順と、ビジネスで絶対にやってはいけない「送信履歴消失」を防ぐための確実な設定方法を図解で分かりやすく解説します。
💡 この記事で解決するポイント
- スプレッドシートから直接ファイルをメール送信する手順
- PDFかExcel形式か?状況に応じたファイル形式の選び方
- Gmailの「送信済み」に残らない罠と、それを防ぐ必須チェック項目
- 毎日決まった時間に自動でメール送信するGAS(プログラム)の書き方
【大火傷】直接送信機能を使って「送信済み」が消滅した話
スプレッドシートの標準機能は便利ですが、仕様を理解せずに使うと顧客対応で大パニックに陥ります。私が実際に経験した恐怖のエピソードを聞いてください。
しかし翌日、顧客から「請求書、まだ届いていませんが?」とお怒りの連絡が。慌てて自分のGmailの「送信済みトレイ」を確認したのですが……なんと履歴が一切残っていないのです!
実はこの機能、Googleのサーバーから直接送信されるため、自分のGmailの送信履歴には残りません。「自分宛てにコピーを送信する」のチェックボックスを入れ忘れたせいで、システムエラーで送れていないのか、相手の迷惑フォルダに入ったのかを証明・確認する術が完全に失われ、血の気が引きました。
このように、「送ったはずなのに証拠が残っていない」という事態はビジネスにおいて致命的です。必ず後述する「履歴を残すための手順」を守ってください。
スプレッドシートをメール添付する3つの方法
スプレッドシートのデータを相手にメールで送るには、主に以下の3つのアプローチがあります。用途と重要度に合わせて使い分けましょう。
| 送信方法 | 手順の手間 | 特徴と注意点 |
|---|---|---|
| ① 直接メール送信(標準機能) | ★☆☆(超簡単) | シート画面から数クリックで送れるが、デフォルトでは送信履歴に残らない。 |
| ② 一度ダウンロードして手動添付 | ★★☆(少し面倒) | 一度PCにPDF等で保存し、メールソフトに添付。履歴が確実に見れるのでビジネス推奨。 |
| ③ GASによるプログラム自動送信 | ★★★(初期設定のみ) | 毎日17時に日報をPDF化して自動送信するなど、定期的なルーティン業務を完全無人化。 |
【手順】直接ファイルをメールで送信する方法(確実な履歴保存付き)
ここでは、最も手軽な「①直接メール送信機能」を使いつつ、絶対に送信履歴(証拠)を残すための正しい手順を解説します。
- 送信したいスプレッドシートを開き、画面左上の「ファイル」をクリックします。
- メニューから「メール」 > 「このファイルをメールで送信」を選択します。
- メール作成のポップアップ画面が表示されるので、宛先のメールアドレスと、件名、メッセージ(本文)を入力します。
- 【超重要】画面下部にある「自分宛てにコピーを送信する」のチェックボックスに必ずチェックを入れます。(これにより自分の受信トレイに証拠が届きます)
- 最下部のファイル形式プルダウンから、送りたい形式(基本は PDF か Microsoft Excel )を選びます。
- 「送信」をクリックして完了です。
💡 添付ファイルの形式はどう選ぶ?
- PDF: 相手にデータを書き換えられたくない場合(見積書・請求書・確定したレポートなど)。
- Excel(.xlsx): 相手にもデータを編集・集計してほしい場合。※ただし、スプレッドシート独自の関数(IMPORTRANGE等)を使っているとExcel側でエラーになるので注意。
【応用】GASを使って「毎日指定の時間」にPDF添付メールを自動送信する
「毎日夕方の17時に、その日の売上データ(日報)をPDF化して上司にメール添付で送る」といった毎日のルーティンは、Google Apps Script(GAS)を使えば完全自動化できます。
スプレッドシート上部のメニューから 拡張機能 > Apps Script を開き、以下のコードを貼り付けて保存し、「トリガー(時計マーク)」から「毎日17時〜18時」に実行されるように設定するだけです。
COPYABLE
function sendDailyReportPDF () {
// スプレッドシートの情報を取得
const ss = SpreadsheetApp.getActiveSpreadsheet();
const token = ScriptApp.getOAuthToken();
const sheetId = ss.getId();
// PDFエクスポート用のURL(最初のシートのみ指定の例)
const url = "https://docs.google.com/spreadsheets/d/" + sheetId + "/export?format=pdf&size=A4&portrait=true";
// PDFの生成
const response = UrlFetchApp.fetch(url, {
headers: { 'Authorization': 'Bearer ' + token },
muteHttpExceptions: true
});
const pdfBlob = response.getBlob().setName("本日の日報_" + Utilities.formatDate(new Date(), "JST", "yyyyMMdd") + ".pdf");
// メールの送信(※宛先アドレスを書き換えてください)
const toAddress = 'boss@example.com';
const subject = '【自動送信】本日の売上日報';
const body = 'お疲れ様です。
本日の売上日報をPDFで添付いたします。
ご確認のほどよろしくお願いいたします。';
GmailApp.sendEmail(toAddress, subject, body, {
attachments: [pdfBlob]
});
}
※注意:GASを使って送った場合、GmailApp.sendEmail を経由するため、このスクリプトを実行したGoogleアカウント(Gmail)の「送信済み」フォルダにしっかりと履歴が残ります。
まとめ:用途に合わせて賢くメール送信しよう
スプレッドシートのデータをメールで送る際の鉄則は以下の通りです。
- 直接送信機能を使う時: 必ず「自分宛てにコピーを送信する」にチェックを入れ、送った証拠を手元に残す。
- 重要な取引先へ送る時: 手間でも一度「ファイル > ダウンロード > PDF」でPCに保存し、普段使っているメールソフトで添付して送るのが一番安全。
- 毎日の定型業務: GASを書いて自動化し、ヒューマンエラー(送信忘れ・添付忘れ)をゼロにする。
便利なクラウドツールですが、「メールの送信履歴が残らない」というような特有のクセを理解していないと、いざという時に自分を守れなくなります。
常に「後から確認できるか?」を意識して、安全にデータ共有を行ってくださいね!