スクリプトを書いていく上で、いろいろな関数(「function myFunction() {~}」)を書きますが、同じ様なスクリプトをいつも書いていることってありませんか?
昔、プログラマーの友人が、よく「プログラムは過去作ったものを、上手く使いまわしをすれば、かなり効率的なんだよ。。。」と言っていたのを思い出しました。あの時は、あまり良く分かってなかったけれど、今、GASのプログラムを書いていて、なるほど。。。という実感もあるので、ここに記載します。
目次
関数とは
まず、関数は、よく見かける「function myFunction() {~}」のことで、「function ~」は、function文による関数の宣言になります。「function myFunction() {~}」は、もっともシンプル(簡単)なタイプですね。
正式に書くと
function myFunction() {
console.log("テキスト");
}
となり、説明を加えるのあれば、
function myFunction() {
↑ 「myFunction」という関数を宣言
console.log(“テキスト”);
↑ 「テキストという文字を表示しないさい」という処理
}
となります。
この様に記載して、「Ctrl」+「S」で保存すれば、スクリプト内の実行する関数名の箇所(①)が「myFunction」になりますね。
一つ関数の完成です。笑
「console.log(“テキスト”)」の部分には、本当に沢山の処理を書きますので、世の中には沢山の関数が存在することになります。
関数の部品化を行うと、凄く便利!
でも、新たにスクリプトを書いていて、同じ様な関数を書いているって事、多くないですか?
「以前も同じ様な関数を書いたな。。。」とか、「以前の関数と似てるな。。。」とか、結構ありますよね。それぞれを一つの関数にして、部品化して都度読み出してあげる様にすれば、毎回、スクリプトを書かなくても良くなり、作業の効率化が図れると共に、スクリプトのミスが減りますね。
部品化した関数を呼び出す方法
主の関数から部品化した関数を読み出す方法
関数は、上記の(①)で選んで実行するだけでなく、別の関数から呼び出す事もできます。その呼び出し方は下記の通り。myFunction()を実行するとmyFunction()の中の処理が実行され、その中に別の関数名「 Getnow()」があるので、そこで今度は「Getnow関数」が実行されます。
function myFunction() {
let datetime = Getnow()
console.log(datetime);
}
function Getnow() {
let date = new Date();
return date;
}
実行ログ:Sat May 07 2022 23:52:15 GMT+0900 (Japan Standard Time)
上記の通りになり、myFunction()から読み出す事ができました。
読み出す方法は、関数名()を処理の中に入れてあげるだけです。
上記の場合、「Getnow() 」ですね。
同じプロジェクト内であれば、他のgsファイルの関数も読み出すことも可能
必ずしも、同じgsファイル内に記載する必要はありません。同じプロジェクト内であれば、他のgaファイルからでも読み出す事が可能です。
1.例えば、「コード1.gs」にGetnow部品化した関数を入力し、
2.「コード2.gs」のmyFunction関数から「Getnow関数」を読み出して処理させます。
3.実行ログでは、正しく読み出され、処理が行われたようです。
まとめ
如何でしたでしょうか?
これを知っていれば、以前作成した関数をそのまま流用して活かしたり、新しい関数の部品として利用することができると思います。他の方が作った関数を利用する事も可能です。一から作成できる能力は必要かもしれませんが、効率的に、省略できるところは省略して、業務効率化を図っていきましょう。
次回は、関数を呼び出す際に、引数と戻り値を入れる方法を解説します。
それでは、楽しいGASで、業務効率化を図っていきましょう!
Google Analytics 4 (GA4)やユニバーサルアナリティクス(UA)の事を、営業でも分かるように記載しておりますので、是非、御覧ください。
Google Apps Scriptを利用して業務効率をアップさせる記事も書いております。営業でも分かるように記載しておりますので、是非是非、御覧ください。