回答受付が終了しました

グーグルのスクリプトについて質問です。 gmailからスプレッドシートに文面を書きだそうとしています。 var regNumber = new RegExp('受付番号 :' + '.*?'+ '\r'); var Number = body.match(regNumber)[0].replace('

グーグルのスクリプトについて質問です。 gmailからスプレッドシートに文面を書きだそうとしています。 var regNumber = new RegExp('受付番号 :' + '.*?'+ '\r'); var Number = body.match(regNumber)[0].replace(' 受付番号 : ’, '').replace('\r',''); var regName = new RegExp('【●●名】' '+.*?' +'\r'); var Name = body.match(regName)[0].replace('【●●名】', '').replace('\r',''); threads[i].markRead(); sheet.getRange(row,1).setValue(date); sheet.getRange(row,2).setValue([Number]); sheet.getRange(row,4).setvalue([Name]); 上記の文面の受付番号はしっかりとシートに書き出しできるのですが 【●●名】が TypeError: Cannot read property ’0’ of null at getMail01(コード:30:35) のエラーとなり書き出しできません。 コード30が var Name = body.match(regName)[0].replace~の文になります。 になります。 想像できる原因として ・メール本文が 【●●名】 内容 と改行している。 ・【】を読み取れない とかしか思い浮かばないのですが 原因わかる方いらっしゃるでしょうか?

JavaScript2閲覧

回答(1件)

0

質問文への記載ミスかもですが、 var regName = new RegExp('【●●名】' '+.*?' +'\r'); の ' がおかしいです。 原因を調べるなら body.match(regName) のログを確認すべきですが、記載内容からすると 改行 が怪しいので、【●●名】 の後に改行コード(\r)を加えたりして色々試してみてはいかがでしょうか。