【Google Apps Script(GAS)】元の関数から別の関数を呼び出し、returnで値を返して元の関数で使用する

今回は、Google Apps Scriptで元の関数から別の関数を呼び出す方法や、別の関数で取得した値をreturnで返して元の関数で使う方法をご紹介します。

※本ページはプロモーションが含まれています

スポンサーリンク
スポンサーリンク

元の関数から別の関数を呼び出し、returnで値を返して元の関数で使用する

まず、スクリプトファイル内にサンプル1のように、setsheetとgettimeの2つの関数を用意します。

※スクリプトエディタの使い方についてはこちらの記事をご参照ください。

スクリプトエディタ(Google Apps Script・GAS)
「スクリプトエディタ(Google Apps Script・GAS)」の記事一覧です。

・サンプル1

function setsheet() {

var ss = SpreadsheetApp.getActiveSpreadsheet(); //アクティブなスプレッドシートを取得
var sh = ss.getActiveSheet(); //アクティブなスプレッドシートのアクティブシートを取得

var nowtime = gettime();

sh.getRange(1,1).setValue(nowtime);

}

function gettime() {

var now = new Date(); //現在日時を取得
var time = Utilities.formatDate(now, ‘Asia/Tokyo’, ‘yyyy/MM/dd HH:mm:ss’); //取得した現在日時を指定した表示形式に変換

return time;

}

今回の例ではスプレッドシートに記載する関数setsheetと、現在時間を取得する関数gettimeに分けて関数を作成しています。

本来2つの関数に分けるほどでは無いといえば無いのですが、できるだけシンプルで分かりやすい例になるよう、今回はこのようにしました。

もっと複雑な処理になり、スクリプトが長くなる場合などは関数を分割した方が一見した時に分かりやすく、管理がしやすい場合もあるかと思われます。

また実行する関数を指定する際は、スクリプトエディタ上部の「関数を選択」より実行したい関数(今回は関数setsheet)を選択し、その左側の三角の形をした再生ボタンを押して実行します。

関数を選択

関数を選択

今回の例では関数gettimeを選択して実行しても、どこにも値を出力していないために一見しただけでは何も起こっていないように見えてしまいます。

前置きが長くなってしまいましたが、それでは先ほどのサンプル1についてご紹介しますと、まず、

var ss = SpreadsheetApp.getActiveSpreadsheet();

でアクティブなスプレッドシートを取得し、

var sh = ss.getActiveSheet();

でアクティブなスプレッドシートのアクティブシートを取得し、

var nowtime = gettime();

で、ここで関数gettimeを呼び出しています。

関数gettimeでは、

var now = new Date();

で現在日時を取得し、

var time = Utilities.formatDate(now, ‘Asia/Tokyo’, ‘yyyy/MM/dd HH:mm:ss’);

で取得した現在日時を指定した表示形式に変換し、

return time

で変数timeに格納した値を関数setsheetに返した上で、変数nowtimeに格納し、

sh.getRange(1,1).setValue(nowtime);

でスプレッドシートに記載しています。

returnで値を返した処理結果

returnで値を返した処理結果

試しに関数gettimeの

return time

をコメントアウトするなどして無効にして実行すると、スプレッドシートには

undefined

と記載され、変数timeに格納した値が関数setsheetへ正常に返されていない事がわかります。

returnで値を返さなかった場合の処理結果

returnで値を返さなかった場合の処理結果

関数実行時に承認を要求された場合にはこちらの記事をご参照ください。

【Google Apps Script(GAS)】スクリプトエディタにプログラムを書く(GAS入門)
今回は、以前の記事「スクリプトエディタの起動」の続きです。 【Google Apps Script】スクリプトエディタにプログラムを書いてみる 実際にスクリプトエディタにスクリプトを書いてみます。 記述する場所は下...

時間取得についてはこちらの記事をご参照ください。

日時(Google Apps Script・GAS)
「日時(Google Apps Script・GAS)」の記事一覧です。

アクティブシートの取得についてはこちらの記事をご参照ください。

【Google Apps Script(GAS)】アクティブシートの取得、セル番地の取得と文字の入力
今回は、Google Apps Scriptにおけるアクティブシートやアクティブセルの取得方法や、文字入力の方法についてご紹介します。 アクティブシートの取得 アクティブシートの取得は下記スクリプトで行う事ができます。 S...
タイトルとURLをコピーしました