Google Apps Script入門:メールの件数を簡単にカウントする方法
メールの件数を数えるのって、どうやってやるんだろう…GASで簡単にできるって聞いたことあるけど、自信がないなぁ…

猫男

catman
よし、catmanが「GASでメールの件数をカウント」する方法を伝授しよう!
GASでメールの件数をカウントする方法
実際にメール件数をカウントするスクリプトを書いてみよう。
function countEmails() {
var threads = GmailApp.getInboxThreads();
Logger.log("受信トレイのメール件数: " + threads.length);
}
まずGmailApp.getInboxThreads()メソッドで受信トレイのスレッドを取得する。
このスレッドをthreadsとして扱い、その長さを取得することでメールの件数をカウントすることができる。
受信トレイ以外のメールもカウント
特定のラベルやカテゴリもカウントしたいなら、ラベルを指定する方法がある。
function countLabeledEmails() {
var label = GmailApp.getUserLabelByName("重要");
if (label) {
var threads = label.getThreads();
Logger.log("「重要」ラベルのメール件数: " + threads.length);
}
}
ここでは、GmailApp.getUserLabelByName()メソッドで「重要」というラベルを取得し、それを使ってスレッドを数えている。ラベルに指定したスレッドの件数を取得するために、getThreads()メソッドを活用する。
日時を指定したメール件数のカウント
特定の日付以降のメール件数を知りたい場合、クエリを活用しよう。
function countEmailsFromPastWeek() {
var threads = GmailApp.search('after:7d');
Logger.log("過去1週間のメール件数: " + threads.length);
}
GmailApp.search()メソッドを用いて、特定のクエリを使ってスレッドを検索する。ここでは、過去1週間のメール件数を取得している。クエリの条件を変更することでさまざまな細かな条件でメールをカウントできる。
練習問題
GASを使って、以下のメール件数をカウントするスクリプトを書いてみよう。
- 「仕事」ラベルのメール件数を数えよう
- 過去30日のメール件数をカウントしよう
解答・解説
function countWorkEmails() {
var label = GmailApp.getUserLabelByName("仕事");
if (label) {
var threads = label.getThreads();
Logger.log("「仕事」ラベルのメール件数: " + threads.length);
}
}
function countEmailsFromPastMonth() {
var threads = GmailApp.search('after:30d');
Logger.log("過去30日のメール件数: " + threads.length);
}
countWorkEmails()では、GmailApp.getUserLabelByName(“仕事”)で「仕事」ラベルを取得し、そのメール件数をカウントする。
countEmailsFromPastMonth()では、GmailApp.search(‘after:30d’)で過去30日のスレッドを検索し、その件数を数えている。
わぁ、これでGASでメールの件数を簡単に数えられるようになった気がします!

猫男

catman
その調子だ!どんどんGASを使いこなして、メール管理をもっとシンプルにするんだ!