はじめに

今回は、フィードをExcelから読み込んでみます。フィードはWeb上の記事をテキストに要約したものですから、簡単に記事一覧が作れます。またソート、フィルタ、ピボットテーブル等Excelの機能により、記事の整理、分析も縦横無尽にできます。動作確認は、Windows 7、Excel 2010、VBA 7.0およびWindows XP、Excel 2007、VBA 6.5で行っています。

図1.完成サンプル

Excel VBAでWebサービス - 天気予報を取得してみよう
Excel VBAでWebサービス - MSNマネーから株価の推移を取得しよう
Excel VBAでWebサービス - Excelで書籍情報を検索・取得してみよう
Excel VBAでWebサービス - YouTube APIで動画を検索しよう
Excel VBAでWebサービス - ExcelでTwitterと連携する
Excel VBAでWebサービス - ExcelでTwitterと連携する2
Excel VBAでWebサービス - ExcelでTwitterと連携する 完成編
Excel VBAでWebサービス - Amazonで書籍情報を検索してみよう Excel VBAでWebサービス - Amazonで様々な商品情報を検索しよう

フィードについて

フィードとは、Web上のコンテンツを配信用に加工したデータのことです。ニュースサイトに限らず、企業のWebサイトの新商品情報、プレスリリースやブログサイトの新着記事などの配信にも利用されています。フィードはXML形式ですので、配信サイトも利用者も手軽に利用できます。すでに利用されている方も多いのではないでしょうか。

RSS2.0について

フィードの代表的なフォーマットにはRSSやAtomがあり、RSSは更に1.0と2.0に分かれています。RSSのバージョンの違いは、RDF(Resource Description Framework、Web上の複雑なデータを記述する仕組み)の採否にあります。

図2.RSSフォーマット仕様の変遷

仕様がシンプルなことから、今回は手始めにRSS2.0を取り上げます。XML形式に準拠していますのでタグで記述されますが、タグの名称や構造が規定されています。

図3.RSS2.0形式のデータ例

主なタグ要素は以下の通りです。

表1.RSS2.0の主なタグ要素

要素 親要素 説明
rss (なし) ルート要素
channel rss 記事の総括情報。唯1つ存在する
item channel 記事1件分の情報。件数だけ存在する
title item、channel タイトル
link item、channel Webページへのリンク
description item、channel 本文
pubDate item、channel 発行日時

完全な仕様は、以下のサイト(英語)で確認できます。

http://cyber.law.harvard.edu/rss/rss.html

Excelによる開発

以下の手順で行います。詳細手順は一部省略していますので、必要に応じて第4回(動画検索)の記事を参照してください。

1.各種の準備を行う
2.グローバル変数を準備するVBAを記述する
3.更新ボタン押下で動作するVBAを記述する
4.HTTP通信、RSS解析を行うVBAを記述する

各種の準備を行う

URLとジャンルの入力と、更新結果表示のために、以下の名前を定義しておきます。

表2.更新結果を表示するための名前定義

名前 範囲 目的
genre A2:A5セル 配信サイトのジャンル入力用
url B2:B5セル 配信サイトのURL入力用
status C2:C5セル アクセス結果の表示用
title_header A7セル 表題ヘッダ
description_header B7セル 本文ヘッダ
pubDate_header C7セル 発行日時ヘッダ
genre_header D7セル ジャンルヘッダ

また、コマンドボタン「cbUpdate」を配置します(表示名は「更新する」)。

図4のような準備ができればOKです。

図4.更新画面の準備