実現したいこと
はじめまして。
当方知識が無いため色々調べ、コードを書いてみたのですがどうしても
キーワードの一つ下の行の情報を抽出できません。
どなたか知恵をお貸しいただけないでしょうか?
前提
以下のようなメールから、■お名前の一つ下の行の情報(様を抜きたい)を
自動でスプレッドシートに項目ごとに抽出したいと思っております。
発生している問題・エラーメッセージ
該当のソースコード
function searchContactMail() {
const title = 'subject:【フォームズ】';
// const start = 0;
// const max = 10;
const threads = GmailApp.search(title);
const messagesForThreads = GmailApp.getMessagesForThreads(threads);
const values = [];
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
for(const messages of messagesForThreads){
const message = messages[0];
var plainBody = message.getPlainBody();
Logger.log(plainBody);
const record = [
message.getId(),
plainBody.match(/■お名前(.)/)[0].replace('■お名前', '').replace('■お名前(フリガナ)', '').replace('様', ''),
plainBody.match(/■お名前(フリガナ)(.)/),
plainBody.match(/■ご住所※全角25文字以内(半角不可)(.)/),
plainBody.match(/[郵便番号] : (.)/)[0].replace('[郵便番号] : 〒', '').replace('r', '') ,
plainBody.match(/[都道府県] : (.)/)[0].replace('[都道府県] :', '').replace('r', '') ,
plainBody.match(/[市区町村] : (.)/)[0].replace('[市区町村] :', '').replace('r', '') ,
plainBody.match(/[町名番地] : (.)/)[0].replace('[町名番地] :', '').replace('r', '') ,
plainBody.match(/[建物名] : (.)/)[0].replace('[建物名] :', '').replace('r', '') ,
plainBody.match(/電話番号区分1(.)/),
plainBody.match(/■連絡(.)/),
];
values.push(record);
Logger.log(record);
}
if(values.length > 0){
sheet.getRange(lastRow + 1, 1, values.length, values[0].length).setValues(values);
}
const label = GmailApp.getUserLabelByName('処理済み');
threads.forEach(thread => thread.addLabel(label));
補足情報(FW/ツールのバージョンなど)
抽出したい情報は、
■お名前の一つ下の行の情報(様を抜きたい)
■お名前(フリガナ)の一つ下の行の情報(様を抜きたい)
■電話番号区分1の一つ下の行の情報
■連絡の一つ下の行の情報
を横並びにセルに抽出し自動で追加されていくようにしたいと考えております。
あなたの回答
tips
プレビュー