Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する

Google Apps ScriptによるGoogleドキュメントの操作(1)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/04/21 14:00

 Googleドキュメントのスプレッドシートを操作する「Google Apps Script」を使って、マクロ・プログラミングを始めましょう。現在は、無料で利用できるGoogleドキュメントでもスクリプトが使えるようになっています。

目次

はじめに

 「Google Apps Script」は、Googleドキュメントのスプレッドシートに搭載されているスクリプト機能です。これは発表当初、Google Appsの有料版(プレミア版)のみで利用可能であったため、「無償版のユーザーは使えない」と思っていた人も多いのではないでしょうが。が、現在では、無料で利用できるGoogleドキュメントでもスクリプトが使えるようになっています。これを利用し、Googleドキュメントのスプレッドシートを操作することができます。いわば、Excelなどの「マクロ」と同じ機能を提供してくれるのです。

 最近では、クラウド・アプリケーションとしてオフィスソフトが提供されるようになってきました。Googleの「Googleドキュメント」だけでなく、マイクロソフトが「Microsoft Office Web Apps」を公開するなど、本格的にWebへの移行が進められつつあります。一方、多くの人の認識と言えば、「スプレッドシートっていっても、せいぜい表を作って関数を設定できる程度でしょ? グラフやマクロなんかはまだまだできないんじゃない?」といったところではないでしょうか。

 しかし、知らない内にWebアプリケーションは進化しているのです。Googleドキュメントのスプレッドシートについていえば、既にベクターグラフィックの描画や各種グラフの作成、さらに文書への表やグラフの埋込みなど、スタンドアロン・アプリケーションのオフィスソフトと比べても遜色ないまでに進化しています。そして今、「スプレッドシートを自動制御するマクロ機能」についても使えるようになったのです。

 Google Apps Scriptで、果たしてどのようなことが可能なのか。その基本的な使い方について、ここで解説をしていくことにしましょう。

対象読者

  • Web版オフィスアプリケーションの導入を考えている方。
  • GoogleドキュメントまたはGoogle Appsを既に使っている人。
  • 各種のWebサービスの自動化を考えている人。

Google Apps ScriptはサーバーサイドJavaScript!

 まず、このGoogle Apps Scriptというのがどういう言語なのか、簡単に説明しておきましょう。一口に言うなら「JavaScript+オブジェクトライブラリ」です。すなわち、JavaScriptに、Googleドキュメントを中心とした各種のサービスを操作するためのオブジェクトをまとめたライブラリを加えて提供し、これらのオブジェクトを利用することでサービスを操作できるようになっています。

 Google Apps Scriptで非常に興味深いのは、これがクライアントサイドではなく「サーバーサイド」で実行される、という点です。JavaScriptは、基本的にクライアントサイドで実行されるスクリプト言語です。スプレッドシートを操作するにしろ、Webブラウザに表示されているシートの各要素をオブジェクトとして操作するのであれば、クライアントサイドだけで動いているように思うかも知れません。

 が、それはGoogle Apps Scriptの働きを見誤っているといわざるを得ません。これはただ単に「表示されているシートをJavaScriptで操作する」ためのものではありません。「Googleが提供するさまざまなサービスをJavaScriptで操作する」ためのものなのです。いえ、将来的なことを考えれば、Googleのサービスと限定する必要もないでしょう。

 Webの世界に展開されるさまざまなサービス。それらをすべてスクリプトで操作し自動化する。Google Apps Scriptが目指すのは、そういう世界なのです。だからこそ、単にクライアントサイドだけで実行するのでなく、サーバーサイドに送られ、そこでさまざまなサービスにアクセスし処理できるようになっているのです。

スクリプトはどこに書く?

 では、実際にGoogle Apps Scriptを使ってみましょう。まず、Googleドキュメントにアクセスし、新規にスプレッドシートを作成してください。スプレッドシートの「ツール」メニューを見ると、そこに「スクリプト」という項目が用意され、その下に「管理」「挿入」「スクリプトエディタ」といった項目が表示されるはずです。これらの役割をざっと整理しておきましょう。

図1 「スクリプト」メニューに、スクリプト関係の機能がまとめられている。
図1 「スクリプト」メニューに、スクリプト関係の機能がまとめられている。

「管理」メニュー

 スクリプトを管理するためのものです。ライブラリなどからスクリプトを追加したとき、それらを編集したり実行したりすることができます。

 メニューを選ぶと、画面にパネルが現れ、そこで組み込まれているスクリプトを編集・実行・削除することができるようになります(デフォルトではスクリプトがないため、開いても何も表示されません)。

「挿入」メニュー

 「スクリプトギャラリー」という公開されたスクリプトのライブラリから、使いたいスクリプトを探して組み込むことができます。メニューを選ぶと、画面にパネルが現れます。このパネルでは、左側にスクリプトのジャンルが表示され、それをクリックすると右側にスクリプトのリストが表示されます。ここから使いたいものをインストールすることができます。

 現時点ではまだ、Googleが公開しているサンプルスクリプトだけしか用意されていないようですが、今後、ライブラリを充実させていけば、ここから使いたいものを探すだけでいろいろな機能を追加できるようになってくることでしょう。

 これは、「挿入」メニューにある「スクリプト」メニューを選んでも同様の画面を呼び出すことができます。

図2 「スクリプト」メニューに、スクリプト関係の機能がまとめられている。
図2 「スクリプト」メニューに、スクリプト関係の機能がまとめられている。

「スクリプトエディタ」メニュー

 スクリプトを自分で作成するための専用エディタを開きます。このスクリプトエディタは別ウインドウとして表示され、スクリプト編集のためのメニューとツールバー、編集エリアなどが用意されます。

 このスクリプトエディタは、スクリプトの入力を支援する機能が組み込まれており、記述された要素に応じて色分け表示したり、文法に応じて自動的にインデントをつけたりしてくれます。また入力中、オブジェクト名の後にドットを打つと、そのオブジェクトに用意されているメソッド類がポップアップして現れるなど、本格的な開発ツールに近い機能を提供してくれます。

図3 スクリプトエディタ。オブジェクトに用意されているメソッドをポップアップ表示したり、自動インデントや行数表示、要素の色分け表示など、入力を支援する数々の機能が組み込まれている。
図3 スクリプトエディタ。オブジェクトに用意されているメソッドをポップアップ表示したり、自動インデントや行数表示、要素の色分け表示など、入力を支援する数々の機能が組み込まれている。

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 掌田 津耶乃(ショウダ ツヤノ)

    三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆活動をする傍ら、ログハウスの普及活動にいそしんでいる。(掌田津耶乃のWebサイトはこちら) ※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開中。またGoogle+プロフ...

バックナンバー

連載:速習Google Apps Script

おすすめ記事

All contents copyright © 2006-2016 Shoeisha Co., Ltd. All rights reserved. ver.1.5