ExcelのA1セルに「1330057」と記入。続いてお隣のB1セルに,「=ZipToAddress(A1)」と関数を入力し,Enterキーを押す。するとB1セルには,A1セルの郵便番号に対応する住所「東京都江戸川区西小岩」が表示される。Excelを使って名簿を作る際など,とても便利に使うことができる。

 ここまで読んで,Excelに詳しい人なら「?」が頭に浮かんでいるかもしれない。実は,Excelにこんな関数は用意されていない。ZipToAddressは,日経パソコン編集部がVBAで作った自作関数である。全国どこの郵便番号でも瞬時に住所に変換できる優れものだ。

 だが,実体は10行にも満たない小規模なプログラムである。郵便番号データベースも用意していない。なぜ,これほど手軽に実用的な関数が作れるのだろうか。

 その秘密はWeb APIにある。インターネット上に公開されているWeb APIをVBAから呼び出し,結果をExcelシートに書き出しているだけなのだ。いまや,ネット上には星の数ほどのWeb APIが公開されている。複数のWeb APIを組み合わせる「マッシュアップ」は,今話題のキーワードだ。

マッシュアップで作った「モバイルマップ」

 マッシュアップといえば,Webサイト開発者の世界の話という印象が強い。地図サービスと店舗情報サービスとの組み合わせなど,複数のWeb APIの活用によって新たなWebサイトを構築する,というのが一般的なイメージだ。日経パソコンが運営するWebサイト,PC Onlineも,2008年4月15日にリニューアルし,公衆無線LANサービスのアクセスポイントやFONのアクセスポイントを探せるモバイルマップなどのマッシュアップサービスの提供を始めた。

 ただ,組み合わせるものをWeb API同士に限定する必要はない。手元のアプリケーションと,Web APIとのマッシュアップだって十分成り立つ。それが冒頭に説明したExcelの例だ。こうすることで,これまでパソコン内に閉じていたアプリケーションの可能性が,突如として広がり始めるのだ。

 実際は若干のプログラミングが必要なので,ハードルを感じるユーザーもいるだろう。だが,慣れたアプリケーションのリッチなユーザーインタフェースを使いながら,Web APIでちょっとした機能拡張をする程度ならそれほど難しくない。例えば,冒頭のExcelの例で記述したのは,「あるセルに入っている値を基にWeb APIからデータを取得し,関数の戻り値として返す」という処理だけだ。

 日経パソコンでは,郵便番号変換以外にも,駅名を基に接待に使えそうな飲食店の一覧を作ったり,交通費を精算したりといったExcelのサンプルを特集で紹介した(特集の全文はこちら)。Wordのサンプルもある。文書中の英単語をWeb APIで和訳し,結果をOfficeアシスタントのイルカくんに表示させるなどという芸当が可能だ。

パソコンユーザーが理屈抜きに楽しめる

 Web APIという強力なツールを使い,アプリケーションを自在に機能強化していくのは理屈抜きで楽しい。飽きるほど使い込んだ馴染みのアプリケーションでも,マッシュアップによって新たな魅力を付加することができるのだ。

 実際に我が編集部でも,Excel通で知られるデスク2人が,マッシュアップにすっかりハマってしまった。1人は,前掲の特集が校了した後もこつこつとサンプルの改良を続け,かなりの大作を作り上げた。もう1人は,VBAを書いているうち知らぬ間に夜が明けていた,というほどの夢中になりようだった。

 高機能なソフトやサービスがあふれる昨今,パソコンユーザーはそれらを活用するだけで目的を達成し,満足している場合が多い。このことに何の不満もないのだが,心のどこかで「便利さと引き替えに,自分自身の力でパソコンの可能性を広げていくワクワク感が失われているのでは」とも感じてしまう。そして,「もしかしたら,この状況をマッシュアップが変えてくれるのではないか」と筆者は期待している。パソコンで何かを作り上げたり,カスタマイズする喜びを,マッシュアップがユーザーに思い出させてくれるのではないか――そんな期待を抱いているのだ。

 半面で,マッシュアップに期待するほど,今後のプログラミング環境が気になっている。当面不安なのは,VBAの今後だ。VBAはまだVB6ベースだが,VB .NETに主軸が移りつつある現在,VBAがこの先どうなるのかはまだ明らかにされていない。

 2007 Office systemで,OfficeアプリケーションからWeb APIを手軽に利用できるようにするツール「Web Services Toolkit」の提供がなくなったことも残念である。マイクロソフトをはじめとしたソフトウエアメーカーには,エンドユーザーが手軽に,そして安全にプログラミングできる環境を今後も提供し続けてほしいものだ。