今回はGAS(Google Apps Script)に関して書いていきます。
GASのプログラムをこれまで何度か書いてきましたが、同じような処理を実装することがたまにあります。
コピペすれば良い話なのですが、せっかくなので共通化(ライブラリ化)してみます。
共通化について色々と調べたところ、手順もそこまで多くなくサクッとできました。
なお、自分のみが使う前提での手順となります。
公開してチームで共通関数を使うとなると、もう少し手順が増えるっぽいです(デプロイ、権限設定など)。
それでは本題へ。
やりたいこと
記事の冒頭でも触れた通り、GASの関数を共通化(ライブラリ化)します。
今回は以下のプログラムを共通化します。
/** * 現在の日付を取得する * ※YYYY/MM/DDにフォーマット */ function getCurrentDate() { const now = new Date(); const year = now.getFullYear(); const month = zeroPadding(now.getMonth()+1); const date = zeroPadding(now.getDate()); return year + '/' + month + '/' + date; } /** * ゼロ埋めする */ function zeroPadding(str) { return ('0' + str).slice(-2); }
現在日付を取得する関数です。
YYYY/MM/DD形式で値が返ってきます。
これも記事の冒頭で触れましたが、自分のみが使う前提での手順となります。
共通化(ライブラリ化)手順
共通関数側
STEP
GASファイルを新規作成
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/miyamoto-blog/20240628/20240628221131.png)
STEP
ファイル名を入力
※今回は「共通関数」としました
※今回は「共通関数」としました
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/miyamoto-blog/20240628/20240628221144.png)
STEP
プログラムを貼り付けて保存する
※「やりたいこと」に載せたプログラムをコピペしました
※「やりたいこと」に載せたプログラムをコピペしました
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/miyamoto-blog/20240628/20240628221154.png)
STEP
「プロジェクトの設定」を開く
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/miyamoto-blog/20240628/20240628221202.png)
共通関数を使う側
STEP
GASファイルを新規作成
※既存のGASファイルでも可
※既存のGASファイルでも可
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/miyamoto-blog/20240628/20240628221503.png)
STEP
ファイル名を入力
※今回は「共通関数のテスト」としました
※今回は「共通関数のテスト」としました
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/miyamoto-blog/20240628/20240628221512.png)
STEP
ライブラリが追加される
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/miyamoto-blog/20240628/20240628221531.png)
STEP
以下プログラムを貼り付けて保存する
function myFunction() { // 現在の日付を取得する const currentDate = CommonFunction.getCurrentDate(); // 現在の日付をログ出力 console.log(currentDate); }
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/miyamoto-blog/20240628/20240628221538.png)
プログラム実行
「共通関数のテスト」を実行してみます。
※「2024年6月27日」に実行
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/miyamoto-blog/20240628/20240628221602.png)
追加したライブラリの関数が実行され、現在日付(YYYY/MM/DD形式)が取得できました。