はじめに
Gmailで受け取った添付ファイルをいちいち手動でダウンロードして保存するのは面倒ですよね?
✅ 重要な書類を自動でGoogleドライブに保存したい
✅ 特定のメールだけを対象にしたい(例:請求書・レポート)
✅ 定期的に実行して、最新の添付ファイルを取得したい
こんな要望を叶えるのが Google Apps Script(GAS)を使った「Gmailの添付ファイル自動保存スクリプト」 です!🚀
本記事では、Gmailの添付ファイルをGoogleドライブに自動保存する方法をわかりやすく解説します!
ステップ①:Googleドライブに保存フォルダを作成
まず、Gmailの添付ファイルを保存するGoogleドライブのフォルダを作成しましょう。
- Googleドライブ を開く
- 「新規」 → 「フォルダ」 をクリック
- フォルダ名を「Gmail添付ファイル保存」にする
- フォルダのURLから「フォルダID」を取得する(例:
https://drive.google.com/drive/folders/XXXXX
のXXXXX
部分)
ステップ②:GASを作成する
次に、Google Apps Script を作成します。
- Google Apps Script を開く
- 新しいスクリプトを作成
- 以下のコードをコピー&ペースト
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でラベルを作成する手順
- Gmailを開く
- 左のメニューから「もっと見る」→ 「新しいラベルを作成」
- ラベル名を「自動保存」にする
- 保存したいメールに「自動保存」ラベルを手動で追加する
ステップ④:スクリプトを実行する
- Apps Scriptエディタで
saveGmailAttachments()
を選択 - 「実行」ボタンをクリック!
- Gmailの「自動保存」ラベルがついたメールの添付ファイルがGoogleドライブに保存される! 🎉
✅ 正しく動作しているか確認
- Googleドライブの「Gmail添付ファイル保存」フォルダを開く
- メールの添付ファイルが保存されていれば成功!
ステップ⑤:毎日自動実行する(トリガー設定)
毎回手動で実行するのは面倒なので、GASのトリガー機能を使って毎日自動実行しましょう!
📌 自動実行トリガーの設定方法
- Apps Scriptエディタの左側メニューから「トリガー」をクリック
- 「トリガーを追加」ボタンをクリック
- 関数を
saveGmailAttachments
に設定 - イベントの種類を「時間ベース」 → 「日付ベースのタイマー」 → 「午前6時〜7時」
- 保存して完了!🎉
➡ これで、毎朝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)だけ保存する応用も可能!
💡 これで、「手動で添付ファイルをダウンロードする手間」がゼロに!
💡 請求書や契約書など、重要な書類を自動管理できる!
コメントを書く