もくもくしてきました!

今日はノンプロ研さん主催のもくもく会が仙台でありましたので参加してきました。
先月の請求書を毎月月初に出すような仕組みが前からほしいと思ってまして、それは作業を忘れないようにというよりも、出すのがおっくうになって期限ぎりぎりまでまとめ作業をしなかったり、そもそも請求作業がなぜか苦手なので作業自体したくないというところがあり、それならIT化すればいいじゃんと思ってやろうと思い、またGASはほとんど使ったことがないので、タカハシさんのGAS本をガイドブックに有効活用する方法を探りながら進めました。

なぜGASか

これは正直ExcelVBAで作った方が私的にはハードルが低いし、楽なのですが。
でも、ExcelVBAじゃダメなんです、今回は。
ExcelVBAだと、この自動化の仕組みを実行するのに、パソコンを立ち上げて、Excelを起動してマクロスタートしなきゃいけないじゃないですか。
GASの場合は、インターネットの向こう側のグーグルさんで、あらかじめセットしている日付になったら実行してくれるじゃないですか。
そうすると自分としてはなぜかストレスのかかる請求作業の一切をしなくて済むのです。
実際に自動化の仕組みは動いているかチェックする必要はあるのせよ、積極的に請求作業をしたくないので、まるっきり意識しなくて済むようにするためにGASにしました。

何をやったか

0からのスタートでGoogleSpreadSheetに入力された以下のような案件を

こんな請求書にまとめました。

GoogleSpreadSheetはすでに普通にワークシート関数でFILTER関数とUNIQUE関数が使えるので、元データから該当の期間の該当の納品先を抽出してSUMIF関数で集計するという流れが簡単にできるのでここまで作るのは簡単でした。

あとは、GASでPDFにしたものをメールで送ればいいのですが。
ブログ「いつも隣にITのお仕事」さんの「【GAS】スプレッドシートをPDFにしてGmailで送付する方法」の記事を参考にPDFをメールで送信することに成功。
しかし、ファイル全体が送信対象となったところで時間アップでした。
ということで書いたコードはわずか5行。
でも実りのある5行でした。

わかったこと

以下、今回のもくもくでわかったことは、

・GoogleSpreadSheetではExcelのテーブルに相当する機能がないか、まだ見つけられない

・ExcelとGoogleSpreadSheetは操作は全くの別物、正直、GoogleSpreadSheetがExcelの代替えになるという表現は間違いに近い。

・GoogleSpreadSheetは関数は充実している。

・GoogleSpreadSheetは、スプレッドシートソフトであって、データ分析などで使うにはちょっと以上に使いにくい。つまり表計算ソフトと言っていいのか不明。

・タカハシさんのGAS本は、わからない言葉を巻末の索引で引きながら使うと結構知りたいことがすぐわかる。

・GASの時限トリガーは使いやすいけど、他のイベントがうまく動作しない時がある。それはほぼ設定が悪いんだけど、VBAの方が正確な操作ができる。

・GASもオブジェクトの後にピリオドを打てば続くものがサジェストされる。これは活用すべき。

・どうやらGASでもGoogleSpreadSheetのメニューをカスタマイズできる模様。

・どうやらGASからでは素直に指定したセル範囲だけをPDF化する方法はないようだ。

・GASはBlobとしてオブジェクトを変換できるので、おそらく、シート全体を画像にすることも可能なのではないか。

・GASで生成したBlobは、実際にファイルに書き出さなくてもGmailの添付ファイルにすることができ、その送信までGASで行える。

・タカハシさんのGAS本は、実例のシステムとして、ちょっと大掛かりなものを作成する課題があったら、ものすごく理解できるものに昇華できそう。

コメント

タイトルとURLをコピーしました