GASでgmailに届いたお問い合わせをスプレッドシートに転記されるようにしたいです。
スプレッドシートに転記されるところまではできたのですが、今のコードでは以下の写真のように「【問診表記入日】」などのタイトルまで含まれてしまいます。
「】」以降の文字列を取得するには、どのように記述したら宜しいでしょうか?
お知恵を拝借出来たら、幸いです。
よろしくお願い致します。
GAS
1function searchContactMail() { 2 3 const title = 'subject:お問い合わせ'; 4// const start = 0; 5// const max = 10; 6 const threads = GmailApp.search(title); 7 const messagesForThreads = GmailApp.getMessagesForThreads(threads); 8 const values = []; 9 const sheet = SpreadsheetApp.getActiveSheet(); 10 const lastRow = sheet.getLastRow(); 11 12 for(const messages of messagesForThreads){ 13 const message = messages[0]; 14 var plainBody = message.getPlainBody(); 15 Logger.log(plainBody); 16 const record = [ 17 message.getId(), 18 plainBody.match(/【問診表記入日】(.*)/), 19 plainBody.match(/【お名前】(.*)/), 20 plainBody.match(/【ふりがな】(.*)/), 21 plainBody.match(/【性別】(.*)/), 22 plainBody.match(/【生年月日】(.*)/), 23 plainBody.match(/【年齢】(.*)/), 24 plainBody.match(/【血液型】(.*)/), 25 plainBody.match(/【体重】(.*)/), 26 plainBody.match(/【身長】(.*)/), 27 plainBody.match(/【結婚】(.*)/), 28 plainBody.match(/【郵便番号】(.*)/), 29 plainBody.match(/【住所】(.*)/), 30 plainBody.match(/【居住】(.*)/), 31 plainBody.match(/【電話番号】(.*)/), 32 plainBody.match(/【メールアドレス】(.*)/) 33 ]; 34 values.push(record); 35 Logger.log(record); 36 } 37 38 if(values.length > 0){ 39 sheet.getRange(lastRow + 1, 1, values.length, values[0].length).setValues(values); 40 } 41 42 const label = GmailApp.getUserLabelByName('処理済み'); 43 threads.forEach(thread => thread.addLabel(label)); 44 45}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/21 10:32