【GAS】Gmailの添付ファイル名を取得する方法
GASgetAttachments,getName,GmailApp
Google Apps Script(GAS)を使えば、Gmailの添付ファイル名を自動で取得し、リスト化したり、条件に応じて処理を実行することが可能です。この機能は、添付ファイルの管理や、特定のファイルを操作する際に役立ちます。この記事では、添付ファイル名を取得する具体的な方法を解説します。
Gmailの添付ファイル名を取得する方法
GASでは、GmailAppクラスのgetAttachments
メソッドを使用してメールに添付されたファイルを取得し、その名前を取得できます。
基本構文
function getAttachmentNames() {
// 件名に「レポート」を含むメールを検索
const threads = GmailApp.search("subject:レポート");
threads.forEach(thread => {
const messages = thread.getMessages();
messages.forEach(message => {
const attachments = message.getAttachments();
attachments.forEach(attachment => {
const fileName = attachment.getName(); // ファイル名を取得
Logger.log("添付ファイル名: " + fileName);
});
});
});
}
実行結果
添付ファイル名: report_2025.pdf
添付ファイル名: summary.xlsx
添付ファイル名: data_chart.png
具体例2: 添付ファイル名をスプレッドシートに記録
以下のスクリプトは、取得した添付ファイル名をスプレッドシートに記録する例です。
function saveAttachmentNamesToSheet() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const threads = GmailApp.search("has:attachment"); // 添付ファイルありのメールを検索
let row = 1; // スプレッドシートの開始行
threads.forEach(thread => {
const messages = thread.getMessages();
messages.forEach(message => {
const attachments = message.getAttachments();
attachments.forEach(attachment => {
const fileName = attachment.getName();
sheet.getRange(row, 1).setValue(fileName); // ファイル名を記録
row++;
});
});
});
}
スプレッドシート例
添付ファイル名 |
---|
report_2025.pdf |
summary.xlsx |
data_chart.png |
具体例3: 特定のファイル名に一致する添付ファイルを抽出
以下は、特定のファイル名(例: report_2025.pdf
)に一致する添付ファイルを抽出する例です。
function filterAttachmentByName() {
const threads = GmailApp.search("has:attachment");
threads.forEach(thread => {
const messages = thread.getMessages();
messages.forEach(message => {
const attachments = message.getAttachments();
attachments.forEach(attachment => {
if (attachment.getName() === "report_2025.pdf") {
Logger.log("一致する添付ファイル: " + attachment.getName());
}
});
});
});
}
注意点
Gmail APIの制限
GASを使用したGmail操作には、1日あたりのリクエスト数制限があります。無料アカウントの場合は100件/日が上限です。
添付ファイルがないメールの処理getAttachments
メソッドは空の配列を返す場合があるため、必ず配列の長さを確認してください。
ファイル名の重複
異なるメールの添付ファイルでも同じ名前が付けられている場合があります。重複処理を考慮して運用する必要があります。
まとめ
この記事では、GASを使ったGmailの添付ファイル名の取得方法を解説しました。
- GmailAppの
getAttachments
メソッドを使用して添付ファイルを取得 - ファイル名をログに出力またはスプレッドシートに記録
- 特定の条件に一致する添付ファイルを抽出
これらの方法を活用し、効率的な添付ファイル管理を実現してください。
関連記事

【GAS】Gmailからスプレッドシートに自動転記する
この記事では、Google Apps Script(GAS)を使い、Gmailか ...

【GAS】 Gmail連携の基本
Google Apps Script(GAS)ではGoogle系アプリ(Gmai ...

【GAS】GoogleドライブのファイルID・ファイル名・URLを一括で取得する
Google Apps Script(GAS)で特定ファイルを処理する際、場合に ...

Google Apps Scriptでメルマガを分析する
前回はGoogle Apps Scriptで自分のGメールボックスにある特定メー ...

GASでメールを送信する2つの方法
この記事ではGoogle Apps Script(GAS)を使ってメールを作成し ...