はじめに
Gmailを使っていると、未読メールが溜まってしまい、重要なメールを見逃すことがありますよね。
特に、仕事用のメールでは、未読のまま放置してしまうと後々大変なことに…。
そこで、Google Apps Script(GAS)を使って、Gmailの未読メールをスプレッドシートに一覧表示するスクリプトを作成しました。
このスクリプトを使えば、未読メールを一覧で管理しやすくなり、対応漏れを防ぐことができます!
スクリプトの概要
このスクリプトは以下の処理を行います。
- Gmailの未読メールを取得
- スプレッドシートに送信者、件名、受信日時、メール本文の一部、URLを記録
- 定期的に実行して、最新の未読メールを管理
スクリプトのコード
以下のコードをGoogle Apps Scriptのエディタに貼り付けてください。
function listUnreadEmails() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var threads = GmailApp.search("is:unread"); // 未読メールを検索
var messages = [];
// 既存のデータをクリア
sheet.clear();
sheet.appendRow(["送信者", "件名", "受信日時", "本文の一部", "メールURL"]);
threads.forEach(thread => {
var msgs = thread.getMessages();
msgs.forEach(msg => {
if (!msg.isUnread()) return; // 未読メールのみ処理
var sender = msg.getFrom();
var subject = msg.getSubject();
var date = msg.getDate();
var snippet = msg.getPlainBody().substring(0, 100); // 本文の最初の100文字
var url = "https://mail.google.com/mail/u/0/#inbox/" + thread.getId();
messages.push([sender, subject, date, snippet, url]);
});
});
// スプレッドシートに追加
if (messages.length > 0) {
sheet.getRange(2, 1, messages.length, messages[0].length).setValues(messages);
}
Logger.log("未読メールをスプレッドシートに記録しました。");
}
スクリプトの説明
listUnreadEmails()
- Gmailの未読メールを検索
- 送信者、件名、受信日時、本文の一部、メールURLを取得
- スプレッドシートに記録
使い方
- Google スプレッドシートを作成
- Google スプレッドシートを開く
- 「拡張機能」→「Apps Script」を開く
- スクリプトを設定
- 上記のコードを貼り付けて保存
- スクリプトを実行
- Apps Script のエディタで
listUnreadEmails()
を実行
- Apps Script のエディタで
- スプレッドシートを確認
- 未読メールの情報が一覧表示されていることを確認
スケジュール実行(自動更新)
未読メールの一覧を定期的に更新する場合は、トリガーを設定します。
- Google Apps Script のエディタで「編集」→「現在のプロジェクトのトリガー」を開く
- 「トリガーを追加」ボタンを押す
- 関数を
listUnreadEmails
に設定 - 実行タイミングを「時間主導型」にして、1時間ごと・1日ごとなどに設定
応用:特定のラベルの未読メールを取得する
特定のラベルの未読メールを取得したい場合、以下のように検索条件を変更してください。
var threads = GmailApp.search("label:重要 is:unread"); // "重要"ラベルの未読メール
おわりに
このスクリプトを使えば、Gmailの未読メールを一覧化し、見逃しを防ぐことができます。
業務メールの管理やタスク整理にも活用してみてください!
コメントを書く