GoogleAppsScriptを試す

最近旅行日記ばっかりだったので、たまにはテクニカルなことってことで GoogleAppsScript についてのお話。

GoogleAppsScriptとは?

GoogleAppsScriptsとは、簡単にいえば、ExcelのVBAのGoogleDocs版のようなものです。
Google各種サービス(Gmail、GoogleDocs、Googleスプレッドシート等)をJavaScriptsで色々と自動化できるとても素晴らしい機能なのです。

記述はJavaScripts。
私自身、JavaScriptsはちゃんと書くのはこれが初めてなのですが Python知ってればまぁそんなに難しくないかな?と思います。
今のところ英語マニュアルしか無いのですが、サンプルとかが一緒にはられているので、英語が読めなくてもなんとなーく理解できると思います。

Excelもそうなのですが、よく使われるソフトのわりに、かゆいところに手が届かないところがあるんですが
AppsScriptsを利用してマクロを作ってあげることで、かゆいところに手が届くようになります。

とりあえず簡単なコードを書いてみました。

選択しているセルから下の列に1 ~ 10 と入れるマクロ。

スプレッドシートの場合、大きく分けると【SpreadSheet】【Sheet】【Range】という3つのクラスがあり、
SpreadSheet は、エクセルのファイル、 Sheet はタブ、Range は選択範囲に対してアクセスすることができます。
↑ のサンプルの場合、 SpreadSheet クラスで、アクティブの Sheetを取得し、アクティブなSheetのRangeを取得しています。
active変数に入っているのは、Rangeクラスのオブジェクトになります。

AppsScriptは、Cell単体 という扱いはなく、複数Cell選択も単一選択もひとくくりに【Range】として扱います。

詳しい説明は、GoogleAppsScriptのSpreadSheetsの項にて → ココ

offsetメソッドは、Rangeクラスで指定されたセルから ( row , column ) 分オフセットしたRangeオブジェクトを返してくれます。

作ったマクロは、ツールのスクリプトマネージャーから使ったり、図形を押したら実行されるようにしたり、時間や編集したタイミングなどをトリガーにして実行したりできます。
毎日12時になったら、データの更新をしてくれるマクロとか、ある列・行に対してまとめて処理をするマクロとか、やりようによってはいくらでもできそうです。
楽しい(゚∀゚)

 

そんなこんなで、テストがてらつくってみたのが ↑
定期的に更新時刻セルとかに色をつけるとかすると便利?かも。

Python比で、文法の気をつけるところは、

変数を宣言するときに var を頭につける
クラスオブジェクトを作るときは new をつける。

とかでしょうか。
それ以外は、文法がMelのPythonという印象。
文法に変な癖とかないので、使いやすいです。
JavaScriptを覚えておけば、Adobe製品とかでも使えるのでこれを機会にもうちょっと書けるように勉強しようかなーと思います。

Googleのその他サービスと連携させたりってのを考えると胸アツです

コメントを残す

メールアドレスが公開されることはありません。


*