like 10

バックエンドエンジニアだけど最近フロントエンドをすごいやっててフロントにちょっと憧れを感じ始めているばーいなです。

入社早々に先輩社員から以下のミッションを下されました。

「ガスで営業日が取得できるプログラムを作ってほしいです」^^

ガス!?
ガスって何!?

「都市ガスとプロパンガスどっち使えばいいですかね?」

なんて気のきいた事も言えずに調べました笑

Google Apps Script(GAS)

Googleが提供しているJavaScriptベースの開発環境。
数多くのGoogleサービスをプログラミングにて操作をすることが可能。
(GoogleカレンダーやGoogleスプレッドシートなどなど)
Googleアカウントを持っていれば利用できる。

簡単に説明するとこんな感じです。

またGASの中でも
Standalone Script (ドライブ上に単独で存在するもの)
Container Bound Script (スプレッドシートに紐づくもの)
の2種類があるそうです。

私は最初に教えてもらったのがスプレッドシートからの起動だったのでそちらで実装を進めました。

ん〜、JavaScriptベースか。実際GASの前にJavaScriptもほぼ扱ったことないので基礎からやってみました。

実践編

・スプレッドシートを開き、ツール→スクリプトエディタを選択

・Google Apps Scriptが開きます

・試しに以下コードを入力し、保存します。「プロジェクト名の編集」が開くのでわかりやすい名前で保存します。

・それでは実行してみましょう! 実行→関数を実行→myFunctionを選択します。

・以下のメッセージが表示されたら 許可を確認を選択します。

・実行結果

おおおおおお!メッセージが表示されましたね!

こんな感じでいろいろ試しながら実際に作成したコードがこちら。

ざっくり説明すると、開始日、終了日を引数で受け取り、年号をつけて、型変換して、ループで土日を抜いた日数をカウント。さらに祝日だった場合はカウントした日数から-1してます。
(祝日を判定するプログラムは先輩社員からいただきました。)

最後に

Google Apps Scriptは調べれば概要や技術情報紹介してるサイトがたくさんありますので興味あったら調べてみてください!

作者情報
フロントエンドってなんかオシャレだなと感じてきたバックエンドエンジニア。 日サロじゃないよ、地黒だよ。 酒は飲んでも飲まれるな。