Googleスプレッドシートの日付データをGASで日付データとして扱う方法
Googleスプレッドシートのセルに日付データが入っていたとして、それをGoogle Apps Script(GAS)で受け取ったとしても日付として認識してくれません。あくまで文字列として認識します。
例えば以下のようにA1セルに日付データが入っていたとして…、
GASでこのように受け取って、getYear()
で年データを抽出するとしましょう。
//間違っている例 function myFunction() { var mySheet = SpreadsheetApp.getActiveSheet(); var dt = mySheet.getRange(1,1).getValues(); Browser.msgBox(dt.getYear()); }
これを実行するとこのように怒られます。文字列にgetYear()
メソッドが存在しないからですね。
[ad#top-1]
では、どのようにやればGAS側で日付データとして扱えるかというと、Dataクラスに突っ込んでやればOKなのです。
//正解 function myFunction() { var mySheet = SpreadsheetApp.getActiveSheet(); var dt_s = mySheet.getRange(1,1).getValues(); var dt = new Date(dt_s); //これでOK Browser.msgBox(dt.getYear()); }
年データを抽出することができました。ちゃんと日付データとして認識してくれています。
[ad#ad-1]
スポンサーリンク