Google Apps ScriptでGmailの添付ファイルをGoogleドライブに自動保存する方法📩 → 📂

NO IMAGE

はじめに

Gmailで受け取った添付ファイルをいちいち手動でダウンロードして保存するのは面倒ですよね?

重要な書類を自動でGoogleドライブに保存したい
特定のメールだけを対象にしたい(例:請求書・レポート)
定期的に実行して、最新の添付ファイルを取得したい

こんな要望を叶えるのが Google Apps Script(GAS)を使った「Gmailの添付ファイル自動保存スクリプト」 です!🚀

本記事では、Gmailの添付ファイルをGoogleドライブに自動保存する方法をわかりやすく解説します!


ステップ①:Googleドライブに保存フォルダを作成

まず、Gmailの添付ファイルを保存するGoogleドライブのフォルダを作成しましょう。

  1. Googleドライブ を開く
  2. 「新規」 → 「フォルダ」 をクリック
  3. フォルダ名を「Gmail添付ファイル保存」にする
  4. フォルダのURLから「フォルダID」を取得する(例:https://drive.google.com/drive/folders/XXXXXXXXXX 部分)

ステップ②:GASを作成する

次に、Google Apps Script を作成します。

  1. Google Apps Script を開く
  2. 新しいスクリプトを作成
  3. 以下のコードをコピー&ペースト
function saveGmailAttachments() {
  var labelName = "自動保存";  // ラベル名(必要に応じて変更)
  var folderId = "XXXXX"; // 先ほど作成したフォルダのIDを入力

  var folder = DriveApp.getFolderById(folderId);
  var threads = GmailApp.search('label:' + labelName);

  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    for (var j = 0; j < messages.length; j++) {
      var attachments = messages[j].getAttachments();
      for (var k = 0; k < attachments.length; k++) {
        var file = folder.createFile(attachments[k]);
        Logger.log("保存完了: " + file.getName());
      }
    }
  }
}

ステップ③:ラベル「自動保存」を作成する

このスクリプトは、Gmailの「自動保存」ラベルがついたメールを対象にします。

📌 Gmailでラベルを作成する手順

  1. Gmailを開く
  2. 左のメニューから「もっと見る」→ 「新しいラベルを作成」
  3. ラベル名を「自動保存」にする
  4. 保存したいメールに「自動保存」ラベルを手動で追加する

ステップ④:スクリプトを実行する

  1. Apps Scriptエディタで saveGmailAttachments() を選択
  2. 「実行」ボタンをクリック!
  3. Gmailの「自動保存」ラベルがついたメールの添付ファイルがGoogleドライブに保存される! 🎉

正しく動作しているか確認

  • Googleドライブの「Gmail添付ファイル保存」フォルダを開く
  • メールの添付ファイルが保存されていれば成功!

ステップ⑤:毎日自動実行する(トリガー設定)

毎回手動で実行するのは面倒なので、GASのトリガー機能を使って毎日自動実行しましょう!

📌 自動実行トリガーの設定方法

  1. Apps Scriptエディタの左側メニューから「トリガー」をクリック
  2. 「トリガーを追加」ボタンをクリック
  3. 関数を saveGmailAttachments に設定
  4. イベントの種類を「時間ベース」 → 「日付ベースのタイマー」 → 「午前6時〜7時」
  5. 保存して完了!🎉

➡ これで、毎朝6時にGmailの添付ファイルが自動でGoogleドライブに保存されます!


応用編:特定のファイル形式だけ保存する

例えば、「PDFファイルだけを保存したい」場合は、次のように変更できます!

function saveGmailAttachmentsPDF() {
  var labelName = "自動保存";
  var folderId = "XXXXX";

  var folder = DriveApp.getFolderById(folderId);
  var threads = GmailApp.search('label:' + labelName);

  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    for (var j = 0; j < messages.length; j++) {
      var attachments = messages[j].getAttachments();
      for (var k = 0; k < attachments.length; k++) {
        var file = attachments[k];
        if (file.getContentType() === "application/pdf") {
          var savedFile = folder.createFile(file);
          Logger.log("PDF保存完了: " + savedFile.getName());
        }
      }
    }
  }
}

📌 このスクリプトを実行すると、PDFファイルだけが保存されるようになります!📄


まとめ

Gmailの添付ファイルをGoogleドライブに自動保存するスクリプトを作成
「自動保存」ラベルをつけたメールの添付ファイルを対象にする
GASのトリガー設定で毎日自動実行
特定のファイル(例:PDF)だけ保存する応用も可能!

💡 これで、「手動で添付ファイルをダウンロードする手間」がゼロに!
💡 請求書や契約書など、重要な書類を自動管理できる!

GASカテゴリの最新記事