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]
スポンサーリンク

