GASでエラーが出ておりまして、原因がわからない状態であります。
↑の部分でTypeError: day.getDate is not a functionというエラーが出ます。
このGASのコードはSSのポイントをslackに自動で吐き出す機能の一部分です。先月まで正常に動いておりましたが、月が変わっていきなり動かなくなりました。
何が原因かわかりません。今まではこの部分でエラーが吐かれることはなかったので、どこが問題なのか不明で仕方ないです。
どなたかお分かりでしたらご教示願います。
days に適切な値が入っていない可能性があります。
エディタで
const days = sheet.getRange(4, 2, 1, 24).getValues();
の下の行に
console.log(days);
を追加して、保存後、実行した場合、ログにはどう表示されますか?
情報 [ [ Mon May 02 2022 00:00:00 GMT+0900 (Japan Standard Time),
Fri May 06 2022 00:00:00 GMT+0900 (Japan Standard Time),
Mon May 09 2022 00:00:00 GMT+0900 (Japan Standard Time),
Tue May 10 2022 00:00:00 GMT+0900 (Japan Standard Time),
Wed May 11 2022 00:00:00 GMT+0900 (Japan Standard Time),
Thu May 12 2022 00:00:00 GMT+0900 (Japan Standard Time),
Fri May 13 2022 00:00:00 GMT+0900 (Japan Standard Time),
Mon May 16 2022 00:00:00 GMT+0900 (Japan Standard Time),
Tue May 17 2022 00:00:00 GMT+0900 (Japan Standard Time),
Wed May 18 2022 00:00:00 GMT+0900 (Japan Standard Time),
Thu May 19 2022 00:00:00 GMT+0900 (Japan Standard Time),
Fri May 20 2022 00:00:00 GMT+0900 (Japan Standard Time),
Mon May 23 2022 00:00:00 GMT+0900 (Japan Standard Time),
Tue May 24 2022 00:00:00 GMT+0900 (Japan Standard Time),
Wed May 25 2022 00:00:00 GMT+0900 (Japan Standard Time),
Thu May 26 2022 00:00:00 GMT+0900 (Japan Standard Time),
ご回答ありがとうございます。↑のように吐かれました。
ss上でいうと、5月の営業日のようです。
ありがとうございます。
では追加ですみませんが、
date = day.getDate();
の「前」に
console.log(day)
を追加して実行してみてください。
おそらく途中まで日付が表示され、エラーが発生して止まると思いますが、
エラーが発生するときの dayの値はどうなっていますか?
推測ですが、日付の列の途中に、空白もしくは日付ではない値が入ってしまっているのだと思います。
情報 [ [ Mon May 02 2022 00:00:00 GMT+0900 (Japan Standard Time),
Fri May 06 2022 00:00:00 GMT+0900 (Japan Standard Time),
Mon May 09 2022 00:00:00 GMT+0900 (Japan Standard Time),
Tue May 10 2022 00:00:00 GMT+0900 (Japan Standard Time),
Wed May 11 2022 00:00:00 GMT+0900 (Japan Standard Time),
Thu May 12 2022 00:00:00 GMT+0900 (Japan Standard Time),
Fri May 13 2022 00:00:00 GMT+0900 (Japan Standard Time),
Mon May 16 2022 00:00:00 GMT+0900 (Japan Standard Time),
Tue May 17 2022 00:00:00 GMT+0900 (Japan Standard Time),
Wed May 18 2022 00:00:00 GMT+0900 (Japan Standard Time),
Thu May 19 2022 00:00:00 GMT+0900 (Japan Standard Time),
Fri May 20 2022 00:00:00 GMT+0900 (Japan Standard Time),
Mon May 23 2022 00:00:00 GMT+0900 (Japan Standard Time),
Tue May 24 2022 00:00:00 GMT+0900 (Japan Standard Time),
Wed May 25 2022 00:00:00 GMT+0900 (Japan Standard Time),
Thu May 26 2022 00:00:00 GMT+0900 (Japan Standard Time),
Fri May 27 2022 00:00:00 GMT+0900 (Japan Standard Time),
Mon May 30 2022 00:00:00 GMT+0900 (Japan Standard Time),
Tue May 31 2022 00:00:00 GMT+0900 (Japan Standard Time),
'',
'',
'',
'',
'RP' ] ]
この下で上記の、
TypeError: day.getDate is not a function
findTodaysRow @ コード.gs:86
getTodaysPoints @ コード.gs:97
sendMessage @ コード.gs:13
といったエラーが出ております。
'',
'',
'',
'',
'RP' ] ]
このあたり問題ありそうですか?
回答しました。下の5行、「’','','','','RP'」がエラーの原因ですね。
これらはgetDate()関数を持たないのでエラーになります。
ご教示いただき、大変ありがとうございました!
おかげさまで解決しました!!
回答1件
あなたの回答
tips
プレビュー