前提・実現したいこと
現在、スプレッドシートで以下のようなことを行っております。
Gmailで受け取った内容(クレジットカード利用明細に関するメール)をGoogleスプレッドシートに自動で読み込んで管理する
参照したサイト:https://q-site.net/efficiency/gmail2spreadsheet/
各メールの内容は取得できたのですが、
内容に記載されている日付と金額を、全てのメールで抽出したいと考えております。
尚、現在のA列の各セルの状態は以下の様になっています。
A2セルの状態↓
A3セルの状態↓
該当のソースコード
function getMail01(){ var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var objSheet = objSpreadsheet.getSheetByName("取得シート");//シート名をここに入力 var sheet = SpreadsheetApp.setActiveSheet(objSheet); //GMAILから取得するものを指定 var start = 0; var max = 500; var threads = GmailApp.search('label:カード利用分 is:unread',start,max); var row = sheet.getLastRow() + 1;//最後の行探してそれ以降に追加 for(var n in threads){ var thd = threads[n]; var msgs = thd.getMessages(); for(m in msgs){ var msg = msgs[m]; var body = msg.getBody(); var res = body.split(">ご利用") //res[3]で取得した内容をA列にセットする sheet.getRange(row, 1).setValue(String(res[3])); row++ } thd.markRead(); Utilities.sleep(1000); } }
試したこと
1度、res[3]に取得した内容をsplitメソッドで分割してセットしてみたのですが、
全てのメールを繰り返しループさせて取得し、セットする方法が分からず行き詰まってしまいました。
以上になりますが、どうぞよろしくお願いします。
あなたの回答
tips
プレビュー