実現したいこと
いつもお世話になっております。
今回、Gmailの内容をスプレッドシートに転記することはできたのですが、
Gmailの本文に複数含まれているURLをシートに転記したいのですが、
分からないので皆様のお力を貸していただきたいと思います。
お忙しいところ恐縮ですが宜しくお願い致します。
発生している問題・分からないこと
Gmailの本文に複数含まれているURLをシートに転記したい。
スプレッドシートの7列目にURLをセットする。
sheet.getRange(1, 7).setValue('URL');
sheet.getRange(rowNumber, 7).setValue(message.getPlainBody().match(/(https?://[\w!?/+_~=;.,*&@#$%()'[]-]+)/g)); ← これでは複数あるURLの1つしか取得できない。
7列目に複数あるURLを改行して取得したい。
該当のソースコード
GoogleAppsScript
1function exportGmails() { 2 var book = SpreadsheetApp.openById('シートのID'); 3 4 var criteria = 'お知らせ'; 5 var threads = GmailApp.search(criteria); 6 7 var sheet = book.getActiveSheet(); 8 sheet.getRange(1, 1).setValue('日付'); 9 sheet.getRange(1, 2).setValue('宛先'); 10 sheet.getRange(1, 3).setValue('From'); 11 sheet.getRange(1, 4).setValue('ReplyTo'); 12 sheet.getRange(1, 5).setValue('件名'); 13 sheet.getRange(1, 6).setValue('本文'); 14 sheet.getRange(1, 7).setValue('URL'); 15 16 for (var i = 0; i < threads.length; i++) { 17 messages = threads[i].getMessages(); 18 message = messages[0]; 19 console.log(message.getFrom()); 20 rowNumber = i + 2; 21 sheet.getRange(rowNumber, 1).setValue(message.getDate()); 22 sheet.getRange(rowNumber, 2).setValue(message.getTo()); 23 sheet.getRange(rowNumber, 3).setValue(message.getFrom()); 24 sheet.getRange(rowNumber, 4).setValue(message.getReplyTo()); 25 sheet.getRange(rowNumber, 5).setValue(message.getSubject()); 26 sheet.getRange(rowNumber, 6).setValue(message.getPlainBody()); 27 sheet.getRange(rowNumber, 7).setValue(message.getPlainBody().match(/(https?:\/\/[\w!?\/+_~=;.,*&@#$%()'[\]-]+)/g)); 28 29 } 30} 31
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
sheet.getRange(rowNumber, 7).setValue(message.getPlainBody().match(/(https?://[\w!?/+_~=;.,*&@#$%()'[]-]+)/g)); ← これでは複数あるURLの1つしか取得できない。
7列目に複数あるURLを改行して取得したい。
補足
特になし

回答1件
あなたの回答
tips
プレビュー