広告

Google apps scriptで日付を表示してみよう!

2017年11月27日

日付をメッセージボックスへ表示する

取得した日付をメッセージボックスに表示するには Browser.msgBox を使います。

sampleでは次のアクションが分かりやすいように、1つ目は日付取得、2つ目はセルへ入力...といった2つのmsgboxを作りました。

//日付をメッセージ表示
Browser.msgBox(formatdate);
/*日付を表示*/
Browser.msgBox("A1セルへ入力します。");
/*A1セルへ入力*/

※先ほど取得した日付は「formatdate」に代入している状態です。

あひる
あひる
たしかBrowserオブジェクトでmsgboxをブラウザ表示させるんだっけ。
ううこ
ううこ
そのとおり。

Browser.

スプレッドシートのみで使用可能なダイアログボックスを表示するクラス。

参照元:base/browser

日付をA1セルへ表示する

取得した値をA1セルへ表示させます。

セルの位置を指定するには getRange を、セルに求めた値を設定するには setValue を使います。

//A1セルへ今日の日付を表示
/*シートを定義*/
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sht = ss.getActiveSheet();
/*A1セルに取得値を設定*/
sht.getRange('A1').setValue(formatDate)

あひる
あひる
getRangeは前回使ったね。表示したいセル位置を指定する時に使うんだよね。ところでgetValueとsetValueの違いは何?
ううこ
ううこ
getRangeは値を得るもの。setValueは値を設定するものだ。
あひる
あひる
getRangeは値を貰ってsetRangeは渡す、という感じ?
ううこ
ううこ
そんなニュアンスで良い。

setValue(value)

範囲の値を設定します。値は、数値、文字列、ブール値、日付のいずれかです。'='で始まる場合は、式として解釈されます。

参照:range#setvaluesvalues

関連記事Google apps scriptでセルの値を取得する方法

Google apps scriptで日付を表示|スクリプト全体

ここまで作成したスクリプトを一度繋げてみるとこんな感じに↓

//Google apps script日付けを取得して表示する//
function 日付け取得(){
  
  /*Dateオブジェクトで取得した日付をtodayに代入*/
  var today =  new Date();  
  /*取得した日付を西暦月日で表示してformatdateに代入*/
  var formatDate = Utilities.formatDate(today(), "JST","yyyy年M月d日");  
  
  /*日付けの取得可否を確認する*/
  Logger.log(formatDate);
//日付をメッセージ表示
  Browser.msgBox(formatdate);/*日付を表示*/
  Browser.msgBox("A1セルへ入力します。");/*A1セルへ入力*/
  
//A1セルへ今日の日付を表示
 /*シートを定義*/
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sht = ss.getActiveSheet();
/*A1セルに取得値を設定*/
 sht.getRange('A1').setValue(formatDate)
}

あひる
あひる
冒頭で見たスクリプトとは若干違くない?
ううこ
ううこ
うるさいだまれ

実行するとこんな感じです↓

日付をyymmdd表示する方法

あひる
あひる
日付けの表示をもっと簡単にしたいんだけど...

という場合には、 Utilities.formatDate の”yyyy年M月d日"を"yyMMdd"に変更してあげることで

//取得した日付けを西暦月日で表示する
/*西暦月日をyymmddに変更して代入*/
var formatDate = Utilities.formatDate(today(), "JST","yyMMdd");

yymmddの日付けで表示することが可能です。

あひる
あひる
おお、簡単に出来た♪
POINT!

「yymmdd」では月(month)が上手く取得出来ません。「yyMMdd」で書くと上手く表示されます。

日付の取得時間も表示する方法

あひる
あひる
日付けの取得時間も表示とかってできるの?

日付けの取得時間も表示する場合は、 Utilities.formatDate の日付け表示「yyMMdd」の後ろに「HH:mm:ss」を追記すればOKです。

//日付けと取得時間を表示する
/*yyMMddの後ろにHH:mm:ssで時間を取得*/
var formatDate = Utilities.formatDate(today, "JST","yyMMdd HH:mm:ss");

あひる
あひる
時間も簡単に取得できた♪
POINT!

書式設定の後ろに半角スペースでHH:mm:ssと入力し、ダブルクオテーションで囲います。

シリーズ1Google apps script 入門|何が出来るの?特徴3つまとめ

Google apps scriptで日付を表示してみよう. まとめ

今回はGoogle apps scriptで日付けを表示してみました。

  1. Dateオブジェクトで現在の日付けを取得する
  2. Utilities.formatdateで日付けの書式を指定する
  3. 取得した日付けをmsgBoxやセルに表示する

DateオブジェクトとUtilities.formatdateを使うことで簡単に日付け表示できましたね。

今回の日付け取得を応用して、次回はgoogle apps scriptでカレンダーのデータを取得していきます(^^)

OYAKUN
OYAKUN
次回はgoogle apps scriptを使ってGoogle Calendarと連携していきます。お楽しみに

【コピペでOK!】Google apps scriptでカレンダーに登録しよう!-終日編-

関連記事:Google apps scriptからカレンダーへイベントの場所・説明を登録する3つの手順

関連記事:Google apps scriptからカレンダー登録|-期間指定編-