Home » Googleスプレッドシートの使い方 » Google Apps Scriptで1日加算した日付・翌日の日付を入力する

Google Apps Scriptで1日加算した日付・翌日の日付を入力する

対象:Googleスプレッドシート & Google Apps Script

「googleapps script date 翌日」
「appsscript 一日加算」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あることに気が付きました。

何らかの日付データに、1日加算して翌日の日付を求める、GAS(Google Apps Script)のコードを探している方による検索です。

VBA(Visual Basic for Applications)の場合、日付の加算・減算を行うDateAdd関数を使うのが簡単です。

[スポンサードリンク]

アクティブセルの日付の翌日の日付を入力するサンプルスクリプト

GASの場合どうするのか気になりましたので、簡単なスクリプトを作ってみました。

function sample_setNextDate(){

 var bk = SpreadsheetApp.getActiveSpreadsheet();
 var sh = bk.getActiveSheet();
 var rng = sh.getActiveCell();

 var date = new Date(rng.getValue());
 date.setDate(date.getDate() + 1);

 rng.offset(0, 1).setValue(date);

}

Googleスプレッドシートで、日付の入力されているセルを選択しておいてから上記のスクリプトを実行すると、右隣のセルに、翌日の日付・1日加算した日付が入力されます。

サンプルスクリプトの解説

アクティブなセルの値を、GASのRange.getValueメソッドで取得して、その値を元にJavaScriptのDateクラスのインスタンスを作成します。
 var date = new Date(rng.getValue());

Date.getDateメソッドで、その日付の日だけを取得してから、「+ 1」することで翌日の日付を求めて、Date.setDateメソッドでその日付をdateにセットしておきます。
 date.setDate(date.getDate() + 1);

最後に、GASのRange.offsetメソッドで取得したアクティブセルの右隣のセルに、Range.setValueメソッドで、一日加算した日付を書き込んでいます。
 rng.offset(0, 1).setValue(date);

JavaScriptのDateクラスを使うところが、VBAの日付計算の考え方とは大きく異なるなぁと感じます。

[スポンサードリンク]

Home » Googleスプレッドシートの使い方 » Google Apps Scriptで1日加算した日付・翌日の日付を入力する

「Googleスプレッドシートの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.