【GAS】関数
GASでは関数を作って実行するので、まずは関数についてまとめていきます。
関数とは
関数とはいくつかの処理がまとめられたものです。
関数は何らかの値を受け取って、その値を使って処理を実行したり、実行結果を返したりできます。
GASでは関数を作って、その関数を実行するという流れになります。
関数の作り方
GASのプロジェクトを開くとmyFunctionという中身のない関数が用意されていますが、この関数の名前を変えたり、関数を追加したりすることができます。
function myFunction() { }
関数は下記のような形式で記述します。
function 関数名(引数) {
処理内容;
}
関数名
関数名には半角英数字とアンダースコア(_)とドル($)が使用できますが、いくつかルールがあります。
- 1つのプロジェクトで同じ名前は使えない
- 先頭に数字は使用できない
- 大文字と小文字は区別される
- 予約語は使用できない
予約語とはfunctionのように、あらかじめGASで使用されているものです。
引数
関数を実行するときに値を渡すことができます。
これを引数といいます。
引数を受け取って処理をしたい場合は設定が必要です。
引数を設定する場合は ( ) の中に変数と同じように任意の名前を付けた引数を設定します。
「,」区切ると複数の引数を設定可能です。
引数の初期値
引数には初期値を設定しておくことができます。
関数の呼び出し時に引数の指定がなかったり、引数の数が足りなかった場合は初期値を使って処理が行われます。
function 関数名(引数1=初期値1,引数2=初期値2) {
処理内容;
}
処理内容
関数を実行すると { } 内に記述されたプログラムが実行されます。
受け取った引数を使って処理を行うことも可能です。
戻り値
戻り値は処理内容を実行したあとに出力する値のことでreturnの後に半角スペースで区切って設定します。
return 戻り値;
戻り値の設定は必須ではありません。
関数の使い方
関数の使い方には下記のようなものがあります。
- GASのメニューから実行する
- ほかの関数から実行する
- トリガーを設定して実行する
どの実行方法が良いというものではなく、用途によって使い分ける感じです。
GASのメニューから実行する
GASのメニューから実行する関数を選択して実行ボタンを押すと、関数を実行することができます。
とりあえずすぐに動かしたいときに便利な実行方法です。
作成中の関数の動きを確認するときによく使っています。
ほかの関数から実行する
関数の処理内容の部分でほかの関数を実行することができます。
関数名(引数, 引数, …)
引数は ( ) 内にカンマ区切りで設定します。
こちらの画像のように引数は渡した順番通りに関数に渡されるので、引数の順番を意識することが必要です。
//test1関数の結果をanswerに代入 const answer = test1(3, 2);
戻り値がある関数は定数や変数に戻り値を受け取ることも可能です。
トリガーを設定して実行する
トリガーは関数を選んで実行するタイミングを設定する機能です。
トリガーではいろいろなことができそうですが、設定項目が多く使ったことがないものも多いので、ここでは毎日時0~1時に関数を実行させる手順のみまとめておきます。
まずはApps Scriptの左側のメニューから[トリガー]を選択すると、トリガーの画面に切り替わります。
トリガー画面右下にある[トリガーを追加]を押すとトリガーを追加できます。
トリガーを追加すると、このような設定画面が開きます。
左上の[実行する関数を選択]ではトリガーで実行する関数を選択します。
[イベントのソースを選択]では下記の項目から選択します。
- スプレッドシートから
- 時間主導型
- カレンダーから
イベントのソースより下の項目は、選択したイベントにより設定項目が変わってきます。
今回は実行する関数を[test2」、イベントのソースを[時間主導型]に設定し、[日付ベースのタイマー]で[午前0時~1時]に設定しました。
このように設定すると毎日午前0時から1時の間に関数test2が自動的に実行されるようになります。
トリガーの設定が終わり[保存]を押すと設定画面が終了し、追加したトリガーが一覧に表示されます。
関数のまとめ
最後に関数についてのまとめです。
- 関数はいくつかの処理をまとめたもの
- 関数を実行するときに渡す値を引数という
- return文を使うと関数の処理結果を返すことができる(戻り値)
- 関数はreturn文で終了するので、return文より後の処理は実行されない
- 関数の実行方法は複数あるので用途によって使い分ける