特 別 寄 稿

WE SPEAK SOAP

第5回

Outlook 2002で取り出す
世界の天気

XMLウェブサービス
ビジネスとテクノロジーの新たな変革篠原 慶

今回はOutlook 2002が備える予定表のアラーム機能を使い、定時にウェブサービスを呼び出して気象情報を取得し、Outlookのフォルダーに投稿するプログラムを紹介する。

世界各地の気象情報を定期的に取得とは内容が少し異なるので違和感はある

べるための要素としても活用できるだろが、天気を知る分には十分な情報だ。日う。

世界各国の空港や空港関連施設での、本国内にも数多くの空港があるので、た

今回のサンプルでは、InnerGearsが提

リアルタイムな気象観測データを取得できとえば横浜の天気を知りたいなら「東京」供するウェブサービスを2つ組み合わせてるウェブサービスをInnerGearsが提供しや「横須賀」など近い場所にある空港関利用する（図1）。ている。本来は航空機の運行に際して到連施設のの気象情報である程度は代用着先の空港の気象を知るために提供されできるのではないだろうか。

われわれが日ごろ目にする天気の情報

WorldWeatherByICAOと呼ばれるウェ

気象情報を連続的に取得することは、ブサービスで、引数としてICAOコード（世ある地点の気象変化を知ることである。

界中の空港施設を示す4文字のコード）を

これは、他の時系列データとの関連を調使う。ているものだが、誰でも自由に無償で利用できる。

1 つは 、気 象 情 報を 結 果として 返 す

ただし、ICAOコードは一般には馴染みがないので、空港や空港関連施設のあサンプルプログラムの実行に必要なもの

る所在地名から、ICAOコードに変換す●事前にインストールしておくもの

るICAOLocationsというウェブサービス

・Office XPまたはOutlook 2002
・Office XP Web Services Toolkit 2.0
http://www.microsoft.com/japan/office/developer/webservices/download.asp●利用するウェブサービスと情報も組み合わせる。

Outlook 2002サンプル

・ウェブサービス1：WorldWeatherByICAO
http://www.innergears.com/WebServices/WorldWeatherByICAO/WorldWeatherByICAO.asmx? WSDL

プログラムの使い方

・ウェブサービス2：ICAOLocations
http://www.innergears.com/WebServices/ICAOLocations/ICAOLocations.asmx?WSDL

このサンプルプログラムは、最初に気象・InnerGearsウェブサービス
http://www.innergears.com/WebServices.aspx

情報を知りたい地域を選んで実行すると、あとは自動的に、その気象情報が投稿の●今回のサンプルプログラム

形式で指定されたOutlookフォルダーに保http://internet.impress.co.jp/im/xmlwebservices/

204 +++ iNTERNET magazine 2003.07 +++インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

1受信トレイの下に「天気」という名前のフォルダーを作る

2［マクロ］ダイアログで「ThisOutlookSession.w
eatherInfo」を実行する

3［設定］ダイアログで、天気情報を4設定した場所の天気情

取得したい国名、（ 空港の）場所、情報を取得する間隔を設定する
図1報が定期的に投稿される

サンプルプログラムの使い方存されるというものだ。一度実行すれば、・Windows 98/Meの場合

所］を指定し、何分間隔で気象情報を［天設定した時間間隔ごとに定期的に最新のユーザープロファイルが複数気］フォルダーに投稿するかを［投稿間隔］

情報を取得して、「天気」フォルダーに投稿

C:¥Windows¥Profiles¥<ユーザー名>を3〜240分の間で指定し、［設定］ボタンしてくれる（図1）。

¥Application Data¥Microsoft¥Outlookをクリックする。

（SP3以降）または Outlook 2002に加えユーザープロファイルが未設定

グボックスで設定された値を使い、現在のて、Office XP Web Services Toolkit

C:¥Windows¥Application Data¥Micro

時間＋［投稿間隔］
で指定した時間でアラ2.0（WSTK）がインストールされているこ

soft¥Outlookームする予定（リマインダー）を設定してくあとは、Outlook自身が［設定］ダイアロ

このプログラムの実行は、Office XPれる
（図2）
。そしてまず、現在の気象情報とが前提なので、事前に確認しよう。
・Windows 2000/XPの場合をウェブサービスから取得し、［天気］
フォ

サンプルプログラムが、気象情報を投稿

C:¥Documents and Settings¥<ユーザ

ルダーに投稿する。

する O u t l o o k フォルダーを 作 成 する。

ー名>¥Application Data¥Microsoft¥Out

Outlookの受信トレイの下に［天気］というlook

では具体的な準備の説明に入る。まず予定された時間が来ると、前のスケジュールを削除して、再び設定した間隔でアラームする予定を設定し、気象情報をフォルダーを作成しておこう（このフォルダー名は、サンプルプログラムを修正すれ取得して投稿するという処理を繰り返す。

再度、Outlook 2002を起動して、［ツば、その他のフォルダーにも設定できる）。

ール］
メニューから［マクロ］→［マクロ］をこの 処 理 を 止 めたいときは 、マクロ

準備が終わったら、Outlook 2002をい選択する。
［マクロ］
ダイアログボックスで、［ThisOutlookSeesion.deleteWeatherInfo［ThisOutlookSeesion.weatherInfo］
を選］（図3）
を実行するか、自分で予定表にあったん終了する。
次にサンプルプログラムが含まれているVbaProject.OTMファイルを、本連載のび、［実行］ボタンをクリックする。
このサンプルプログラムの予定（スケジる「AIRPORT WEATHER」という予定を探して削除すればよい。

サポートページからダウンロードする。そュール）をまだ設定していなければ、［設

気象情報を取得する場所を変更する場して、ダウンロードしたVbaProject.OTM

定］ダイアログボックスが表示される。ここ

合は、ここで新たにマクロを実行して新しファイルを次の場所にコピーする。

で、どこの気象情報を得たいか［国］と［場い場所を設定する。

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D+++ iNTERNET magazine 2003.07 +++205

メールによる応用の拡大と複数ウェブサービスの連携
OutlookのVBAは、最近になって搭載されたこともあって、あまりなじみがないという人も多いかもしれない。Outlook特有のイベントや機能によるクセはあるものの、ほかのOfficeソフトウェアと同じように、WSTKによってウェブサービスを活用
図 2 自動的に予定表に設定された、天気情報取得のための予定できることが理解できたと思う。
Outlook予定表のアラーム機能を使えば、気象情報のウェブサービスに限らず、株価や為替情報といったウェブサービスに置き換えて、相場をつねに監視するリマインダーのように使うことも可能だろう。
とにかく、ウェブサービスで提供されている情報であれば、応用はいくらでも利かせることができる。
また、これまで扱ってきたWord、Excel、Accessなどと違い、Outlook自体がメールというコミュニケーションのための機能を持っていることも、応用の幅の広さにつながる。ウェブサービスから取得した情報を複数のメールアカウントに同時に送信してメールニュースのようにしたり、携帯

図3 サービスを停止、または設定を変更する場合
は「ThisOutlookSession.deleteWweatherInfo」マクロを実行するマクロのセキュリティー設定
まずはサンプルプログラムを実行するための準備として、Outlook 2002を起動して、［ツール］メニューから［マクロ］＞［セキュリティ］を選ぶと表示されるセキュリティーダイアログで［中］にする（図A）。そうしないと、サンプルプログラムが実行できない可能性がある。また、Outlookの起動時に、マクロに対する警告のダイアログボックスが表示される場合は、［マクロを有効にする］
ボタンをクリックする（図B）。サンプルプログラムを起動するたびに［セキュリティ］ダイアログボックスが表示されて煩わしい場合は、デジタル署名を付加し、そのデジタル署名付きのマクロを「常に信頼」するように設定するとよい（デジタル署名の詳細については、Outlookのヘルプを参照）。そのように設定すれば、［セキュリティ］
ダイアログボック

図A マクロの実行に対する警告のダイアログボックス

スを「高」にしても、そのマクロを実行することが可能だ。

206 +++ iNTERNET magazine 2003.07 +++図B ［セキュリティ］
ダイアログボックス。マクロの実行許可を設定できる。
［低］に設定すると危険度が高くなるので、十分注意すること

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

WE SPEAK SOAP

ウェブサービス1
ICAOLocations

電話などのメールアドレスに送るようにしたりと、通常のメールでできることがその1所在地名の一覧を送るままプログラムからできるので、より幅広
空港の所在地名からICAOコードを検索する

いアイデアが試せるだろう。
今回紹介したサンプルプログラムは簡2選んだ所在地名を送る
3該当するICAOコードを送る

単なものだが、内部では気象情報のデー
タを取得するのに、2つのウェブサービスを連携させている。たとえば千歳空港のクライアント（Outlook）

ウェブサービス2
WorldWeatherByICAO

4ICAOコードを送る

気 象 情 報 を 取 得した いとする 。

ICAOコードが表す
空港の気候情報を提供する

WorldWeatherByICAOウェブサービス
だけでは、千歳空港の ICAOコードをど5該当する空港の天気情報を送る

こかで探すだけでも一苦労だ。また、
ICAOコードのリストを見つけてきて、再図4

サンプルプログラムと2つのウェブサービスとのやりとり利用できるようにデータベース化したとしても、世界中の新しい空港や廃止される空港のメンテナンスが必要になってくる。

プログラムで使用するメソッド

しかし、別のICAOLocationsウェブサー
ビスも使うことによって、国名から ICAOコードを検索することができたので、とても簡単な処理に収まった。

ICAOLocationsウェブサービスから●GetICAOLocationsメソッド
ICAOリストと場所（空港）のリストを得る

このように、インターネット上に分散して存在するさまざまな特徴を持ったウェブサ●GetICAOLocationsByCountryメソッド
国名を引数に、ICAOリストと場所（空港）のリストを得る

ービスを連携させて目的とする結果を得●GetICAOCountrysメソッド

るといったことは、ウェブサービスの数が国名のリストを得る

増加し、提供されるサービスの内容も多様になるにつれて、今後さらに一般的になるだろう。

WorldWeatherByICAOウェブサービスから●GetWorldWeatherByICAOメソッド
ICAOコードを引数に、現在の気象情報を得る

ICAOコードとは
ICAOコードというのは、国際民間航空条約（シカゴ条約、加盟187か国）に基づいて設立された国連の専門機関の1つである国際民間航空機関（ICAO：International CivilAviation Organization）が定めたもので、世界中の空港施設（大きいものから小さいものまで）を一意

月刊.NETテクノロジー 6月号 好評発売中に表すもので、4文字のアルファベ「すべてのWindowsプラットフォームの開発環境
特集：ットで構成されている。

Visual Studio .NET 2003のすべて」

ちなみに、東京国際空港（羽田）は定価1,400円「RJTT」、新東京国際空港（成田）は「RJAA」、市ヶ谷は「RJAI」とな

全国有名書店で発売中
http://dotnet.impress.co.jp/っている。

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D+++ iNTERNET magazine 2003.07 +++207

［インターネットマガジン バックナンバーアーカイブ］ ご利用上の注意
この PDF ファイルは、株式会社インプレス R&D（株式会社インプレスから分割）が 1994 年～2006 年まで発行した月刊誌『インターネットマガジン』の誌面を PDF 化し、「インターネットマガジン バックナンバーアーカイブ」として以下のウェブサイト「All-in-One INTERNET magazine 2.0」で公開しているものです。

http://i.impressRD.jp/bn
このファイルをご利用いただくにあたり、下記の注意事項を必ずお読みください。
z 記載されている内容（技術解説、URL、団体・企業名、商品名、価格、プレゼント募集、アンケートなど）は発行当時のものです。
z 収録されている内容は著作権法上の保護を受けています。著作権はそれぞれの記事の著作者（執筆者、写真の撮影者、イラストの作成者、編集部など）が保持しています。
z 著作者から許諾が得られなかった著作物は収録されていない場合があります。
z このファイルやその内容を改変したり、商用を目的として再利用することはできません。あくまで個人や企業の非商用利用での閲覧、複製、送信に限られます。
z 収録されている内容を何らかの媒体に引用としてご利用する際は、出典として媒体名および月号、該当ページ番号、発行元（株式会社インプレス R&D）、コピーライトなどの情報をご明記ください。
z オリジナルの雑誌の発行時点では、株式会社インプレス R&D（当時は株式会社インプレス）と著作権者は内容が正確なものであるように最大限に努めましたが、すべての情報が完全に正確であることは保証できません。このファイルの内容に起因する直接的および間接的な損害に対して、一切の責任を負いません。お客様個人の責任においてご利用ください。

このファイルに関するお問い合わせ先
All-in-One INTERNET magazine 編集部
im-info@impress.co.jp
Copyright © 1994-2007 Impress R&D, an Impress Group company. All rights reserved.