ヘッダーロゴ

google apps script 入門

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

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

取得した日付をメッセージボックスに表示するには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
次回はgoogle apps scriptを使ってGoogle Calendarと連携していきます。お楽しみに

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

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

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

  • この記事を書いた人
  • 最新記事

OYAKUN

30代半ば♂妻・子3人の5人で日々激戦中。Google app script&VBA初心者が自分の備忘録を兼ねて「スプレッドシート、Excel、WordPress、plugin」の設定等、主にブログやアフィリエイト周辺のtipsを背伸びしながらご紹介しています。

© 2021 OYAKUDACHI.XYZ