Gmailからメール本文を条件検索してスプシに転記する方法【スプレッドシート】【GAS】【超初心者向け】
■結果イメージ
下記のようなメールをスプレッドシートに転記します。
※赤線はアドレスです
今回は、特定の会社から送られたものメールのみを選んで抽出します。検索機のキーとなるのはメール本文の会社名になります。
今回は、株式会社ゴジラ から送られたメールを抽出します。
■スクリプト
下記を会社名や社員名に変更してください。
株式会社ゴジラ
GmailアドレスはログインしているGoogleアカウントと同じアカウントになりますので、指定は不要です。
function searchMail() {
const query = '"株式会社ゴジラ"';
const start = 0;
const max = 10;
const threads = GmailApp.search(query, start, max);
const messagesForThreads = GmailApp.getMessagesForThreads(threads);
const values = [];
for(const messages of messagesForThreads){
const message = messages[0];
const record = [
message.getDate(),
message.getFrom(),
message.getSubject(),
message.getPlainBody().slice(0,200)
];
values.push(record);
}
if(values.length > 0){
SpreadsheetApp.getActiveSheet().getRange(2, 1, values.length, values[0].length).setValues(values);
}
}
★ポイント
GmailApp.searchメソッドで特定条件でスレッドを検索しています。
GmailApp.search(検索条件, 開始スレッドのインデックス, 最大取得数)
★注意
Gmailの読み取り制限がありますので、1日あたり300~400までにしておきましょう。
GmailApps.searchメソッドで取得できるものはスレッドの集まりになりますので頭の片隅に置いておいてください。
■転記先のスプレッドシート
今回は、アクティブなスプレッドシートに転記をしています。
Yahooメール→Gメールに送信しています。頭にフォントなどが入ってしまったので、それについては次回以降、かいけつゾロリしますので、お待ちくださいませ!