前提・実現したいこと
部署内で共有して使用しているアカウントに来た特定のGmailを、スプレッドシートに転記するスクリプトを作成しました。
発生している問題・エラーメッセージ
未読メールがある日付に受信したもの全てを転記するようになっています。
例)
9/16受信分の中に未読があると、既読・未読に関わらず9/16に受信したもの全てを転記してしまう。
転記するのは未読だけでいいのですが、is:unreadだけでは不十分なのでしょうか。
該当のソースコード
function GmailToSpreadSheet() { //書き込むシートを取得 var sheet = SpreadsheetApp.getActive().getSheetByName('シート名'); //未読のメールの中から件名に問い合わせを含むものを条件で抽出 var threads = GmailApp.search('subject:メールの件名 is:unread'); // 最終行を取得 var row = sheet.getRange(sheet.getMaxRows(), 1).getNextDataCell(SpreadsheetApp.Direction.UP).getRow()+1; for(var n in threads){ var thread = threads[n]; var msgs = thread.getMessages(); for(m in msgs){ var msg = msgs[m]; //日時を取得 var date = msg.getDate(); //本文を取得 var body = msg.getBody(); //日時を転記 sheet.getRange(row,1).setValue(date); //本文を転記 sheet.getRange(row,2).setValue(body); row++; } //抽出したメールを既読にする threads[n].markRead(); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/18 02:36