GASが非常におもしろい!

GAS(Google Apps Script)という言語で「Google スプレッドシート」を操作することができる。

エクセルでいうVBAという位置づけである。

なぜ筆者がGASに興味をもったかというと、スクレイピング案件でGAS案件が非常に最近増えてきているので、どういうものか一度試してみようと思い最近はじめている。

するとどうだろう、VBAにくらべてまだまだ貧弱な部分はあるが、すばらしい開発環境ということに気が付いた。

1.ブラウザ上での動作

これは、誰がどんな環境で使用しても問題がないというところだ。といってもあらゆるブラウザには対応していないがだいたいのブラウザで対応している。VBAでいうところのofficeのバージョン、OSのバージョンなどというしがらみが一切なくなるということ、そしてMAC環境でもsafariを使用することで同じことが実現できる。これはソフトを提供する側からすると大変ありがたいことである。


2.スケジューラーの実装

サーバーサイドで動作していることで、定周期に処理させたいことが簡単に実現できる。Excelのマクロを定周期で動作させるにはローカル側のタスクスケジューラーを設定してやる必要があり、PC自体も起動させっぱなしでないと実現できなかったが、GASはサーバー上で起動してくれるので、そんなことは気にしなくても良い。

ただ、スケジューラー機能としては若干ものたりない部分もあるが、google様の今後のアップデートに期待したいところである。


3.もちろんスクレイピングも可能

筆者がいちばん気に入ったのは、すでに結構なライブラリが用意されており、PHPでは面倒だったjavascriptによる動的サイトの対応も、ライブラリで簡単に解決できるところだ。

ただ、DOMでのデータ抽出が出来ないということが、DOMに慣れているエンジニアには少し不満なところといったところだろう。筆者も最初はどうなることかと思ったが、ライブラリによって目的が果たせる手順を身につけることができたので大した問題ではないように個人的には思える。


まとめ

もしかしたら、サイトという概念が変わってくるのではないか?と思えるほど将来に期待がもてる環境だと思う。また、「Google スプレッドシート」で例をあげたが、「Google ドライブ」、「Google ドキュメント」、「Google スライド」、「Google フォーム」にもGASは対応している。

最近うわさで耳にしたofficeのVBAがjavascriptに乗せ換えられるという噂も、上記の事柄を勘案すると、ただのうわさで無いようにも思えてしまうものである。

次回はスクレイピングのコードを解説する記事を書けたらと思う。

以上

この記事が気に入ったらサポートをしてみませんか?