はじめに
今回は、以前取り上げたRSS2.0形式のフィード取得機能を、RSS1.0にも対応させます。RSS1.0、2.0に対応することで、世の中の大部分のフィードに対応できるようになりますので、サンプルを活用する幅も広がるでしょう。動作確認は、Windows 7、Excel 2010、VBA 7.0およびWindows XP、Excel 2007、VBA 6.5で行っています。
Excel VBAでWebサービス - Excelでヤフオクの商品情報を検索しよう
Excel VBAでWebサービス - Excelでフィードを読もう(RSS2.0編)
Excel VBAでWebサービス - ExcelからWikipediaを引いてみよう
Excel VBAでWebサービス - Amazonで様々な商品情報を検索しよう
Excel VBAでWebサービス - Amazonで書籍情報を検索してみよう
Excel VBAでWebサービス - ExcelでTwitterと連携する 完成編
Excel VBAでWebサービス - ExcelでTwitterと連携する2
Excel VBAでWebサービス - ExcelでTwitterと連携する
Excel VBAでWebサービス - YouTube APIで動画を検索しよう
Excel VBAでWebサービス - Excelで書籍情報を検索・取得してみよう
Excel VBAでWebサービス - MSNマネーから株価の推移を取得しよう
Excel VBAでWebサービス - 天気予報を取得してみよう
Excel VBAでWebサービス - ExcelでJScriptの機能を利用しよう
フィード利用上の注意事項
フィード利用にあたっては、各サイトの利用規約に従うように注意してください。
RSS1.0形式のフィードについて
第11回の復習になりますが、RSS1.0とRSS2.0におけるフォーマットの違いを確認しておきましょう。
今回は、RDF(Resource Description Framework。Web上の複雑なデータを記述する仕組み)をベースとしているRSS1.0を取り上げます。とは言え、Excelに取り込む部分は、テキスト、リンクのURL程度ですので、RSS2.0とほぼ同じ要領で操作できます。
主なタグ要素は以下の通りです。
表1.RSS1.0の主なタグ要素
要素 | 親要素 | 説明 |
---|---|---|
rdf:RDF | (なし) | ルート要素 |
channel | rdf:RDF | 記事の総括情報。唯1つ存在する |
item | rdf:RDF | 記事1件分の情報。件数だけ存在する |
title | item、channel | タイトル |
link | item、channel | Webページへのリンク |
description | item、channel | 本文 |
dc:date | item、channel | 発行日時 |
完全な仕様は、「RDF Site Summary 1.0(英語)」で確認できます。
Excelによる開発
以下の手順で行います。手順2、3は第11回(RSS2.0)と全く同じですので説明を省略します。また、他の手順についても、RSS1.0としての差分のみ説明しますので、必要に応じて第11回の記事も参照してください。
2.グローバル変数を準備するVBAを記述する
3.更新ボタン押下で動作するVBAを記述する
4.HTTP通信、RSS解析を行うVBAを記述する
5.正規表現を用いてHTTPタグを除去するVBAを記述する
各種の準備を行う
URLとジャンルの入力と、更新結果表示のために、以下の名前を定義しておきます。
表2.更新結果を表示するための名前定義
名前 | 範囲 | 目的 |
---|---|---|
genre | A2:A11セル | 配信サイトのジャンル入力用 |
url | B2:B11セル | 配信サイトのURL入力用 |
status | C2:C11セル | アクセス結果の表示用 |
title_header | A13セル | 表題ヘッダ |
description_header | B13セル | 本文ヘッダ |
pubDate_header | C13セル | 発行日時ヘッダ |
genre_header | D13セル | ジャンルヘッダ |
また、コマンドボタン「cbUpdate」を配置します(表示名は「更新する」)。
図4のような準備ができればOKです。