1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

VBAはもう古い? Google Apps ScriptでGoogleスプレットシートのマクロ開発

Pocket

オンラインで簡単に最新の状態を共有できることから、最近ではGoogleスプレットシートによる仕様の共有なども一般的になってきました。
Googleスプレットシートでマクロを作成する場合、今までExcelで使用していたようなVBAではなくGoogle Apps Scriptと呼ばれるスクリプト言語を使って作成していきます。

今回は、Google Apps Scriptの基本をおさえていきたいと思います。

Google Apps Scriptとは?

Google Apps Script (以下、GAS)とはGoogleが提供する各種サービスをプログラム上で操作するためのサービスです。

 

JavaScriptをベースに提供され、サーバサイドでの実行を想定しています。

GASを使用する3つのメリット

GASの最も大きなメリットは、利用者の端末に依存しないということです。

オンライン上で管理されているため、ネットワークに繋がっていればどの端末でも作業が可能です。
最近では無料で利用できるwifiスポットも増えてきているため、外出用のノートパソコンでも作業を行うことができます。

また、スクリプトはGoogleのサーバ上で実行されるため、WindowsやMacといった環境を選ばずにスクリプトを実行できます。

特に利用している端末がMacの場合、初期設定ではエクセル自体がインストールされていないということも多いためこれは大きなメリットと言えるでしょう。

ちなみに、Mac版のエクセルはVBAに関しては不具合も多く、期待通りに動作しない場合もあるため、利用端末にMacが想定される場合はGASを選択したほうがいいでしょう。

2つ目のメリットは、学習コストの低さです。

すでにJavaScriptを扱ったことのある人ならば、比較的手軽に利用することができます。
また、GASの作成には専用のスクリプトエディタが準備されており、コード保管機能はもちろんのこと、ログ出力、デバッグモードでの実行なども可能となっているおり、開発環境を準備しなくてもスクリプトを作成することができます。

GASを利用する3つ目のメリットは、 Googleの提供するサービスでもGASが利用可能ということです。

GmailやGoogle Calenderなどでもスクリプトが組める他、Googleのアプリケーション間の連携にも使えるため、メールアドレスの一覧をスプレットシートに書き出す、スプレットシートで作成した予定を Google Calenderに書き出すといったことも可能です。

イベントのトリガーを利用してマクロを実行しよう

GASには、スプレットシートで特定の操作を検知するための関数が用意されています。
例えば、onOpenメソッドを利用すると、以下のようにスプレッドシートを開いた際にメニューの中にスクリプトを追加することができます。

1.メニューからtools->script editorを選択します。

2.onOpen() の関数を追加し、スプレッドシートを開いた際にメニューの追加をするようにaddMenu(“メニュー名”, メニュー情報)としてメニューの登録を行います

functionNameには実行される関数の名前が必要となるので、実行される関数も併せて追加するのを忘れないようにしてください。

3.スプレッドシートをリロードすると、画面にメニューが追加されてスクリプトをメニューから実行することができるようになります。

その他に準備されているイベントとしては、onEdit(シート内容が変更された際)、onInstall(アドオンのインストール時)、doGet/doPost(APIとして公開されているGASに対してGET/POSTリクエストを実行した際)などが準備されています。

いずれも使いこなすと便利な関数ですので、サンプルのソースなどを調べて一度試してみるといいでしょう。

GASを利用する際の注意点

GASはGoogleの提供する多くのサービスと連携できることもあり非常に魅力のあるスクリプトですが、サーバを経由して実行されるため自分の端末のフォルダにはアクセスできません。
また、現時点では公式のリファレンスでは日本語が存在しないようなので、作成したい処理の参考サイトが探せないケースがある点も注意してください。

いかがでしたか?

学習コストが比較的低く、様々なアプリケーションで利用できることから、今後はますますGASの需要は高まっていくことになりそうです。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

おすすめスクール

システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ システムアーキテクチュアナレッジでは、ITスクールとしては珍しく正規雇用かつ現役のエンジニアが講師を務めています。「責任を持ったIT教育」をテーマに、未経験者をプロフェッショナルに育てます。
ページ上部へ戻る