GASでGmailで検索した内容をスプレッドシードに書き出す、ということがしたく、色々調べたのですが、実行し、エラーも出ず完了するがメールの受信日時が空白になってしまいます。原因がわかりませんのでご教示ください。
(受信メールここから)
お問い合わせがありました。
【問い合わせ内容】
その他
【名前】
テスト送信者
【メールアドレス】
aaaaaa@aaa.com
【本文】
本文
本文
本文
上記、ご対応をお願いいたします。
(受信メールここまで)
GAS
function myFunction() { const threads = GmailApp.search('subject:お問い合わせがありました'); for(const thread of threads){ const messages = thread.getMessages(); const message = messages[0]; const mailID = message.getId(); const mailDate = message.getDate(); Logger.log(mailDate); const mailBody = message.getPlainBody(); //希望の文字列から抜き取り const str01 = mailBody.match(/【問い合わせ内容】([\s\S]*)【名前】/); const str02 = mailBody.match(/【名前】([\s\S]*)【メールアドレス】/); const str03 = mailBody.match(/【メールアドレス】([\s\S]*)【本文】/); const str04 = mailBody.match(/【本文】([\s\S]*)上記、ご対応をお願いいたします。/); // 書き込むシートを取得 const sheet = SpreadsheetApp.getActive().getSheetByName('問い合わせ'); // 最終行を取得 const lastRow = sheet.getLastRow() + 1; // セルを取得→値を転記 sheet.getRange(lastRow, 1).setValue(mailDate[1]); sheet.getRange(lastRow, 2).setValue(str01[1]); sheet.getRange(lastRow, 3).setValue(str02[1]); sheet.getRange(lastRow, 4).setValue(str03[1]); sheet.getRange(lastRow, 5).setValue(str04[1]); } }
Logger.log(mailDate)の中身はどうなってますか? コンソールに記述はありますか?
あと、「上記、ご対応をお願いいたします。」という表現は、無償で回答してくれようとしてくれる人に対しては、いささか失礼な表現だと思います。こちらは対応する義理も責任も何もないので…
詳細未確認ですけど、多分Date型で返って来てるような気がします。
ご回答ありがとうございます、解決しました。
>あと、「上記、ご対応をお願いいたします。」という表現は、無償で回答してくれようとしてくれる人に対しては、いささか失礼な表現だと思います。こちらは対応する義理も責任も何もないので…
書き方が悪く申し訳ありません、こちらはメールの定型文の一部でした。
まだ回答がついていません
会員登録して回答してみよう