Excel VBA > VBA:実務活用 > Excelとホームページの関係について概要
このエントリーをはてなブックマークに追加

Excelとホームページの関係について概要

Excelとホームページの連携とは

Excelとホームページの連携については本サイトのメインどころとしているところですが、一見するとあまり関係が無いように思える両者ですが、使い方次第で活用度が抜群に増します。
ご存知の方も多いかもしれませんが、プログラム(VBA)を使わずとも、Excelとホームページはある程度の親和性もあり、一般機能でホームページ上のデータを取り込むことも可能ですし、HTMLコードをコピーして、Excelに貼り付けるだけでタグが展開されてシート上にページが展開するなどができます。
また、役に立つかどうかは別としてHTML形式で保存もできますが、ここでお話しする内容はVBAコードを使ったWeb操作について説明します。

HTMLタグが分かるか?やりたいことに大きく影響

Excelとホームページ(Web)との連携で必須知識の一つがタグの理解力です。通常VBA(IE、WebBrowserなど)を使ってホームページにアクセスし、ホームページ上のデータを取得するときにまずはタグを解析します。「どのタグに挟まれているか」を基準に該当するデータを探すからです。これは取得したいデータの場所を特定するために必要な方法ですが、他の方法(あまりいい方法とは言えないですが)として、HTMLコードをテキスト展開したときに何行目にあるのかなどが分かれば、それを特定材料としても良いわけです。(ただ一般的はタグ、さらにはそこに埋め込まれているIDがあればより固いですが、Classも駆使すれば判定ができます)

ホームページからExcelへ

一般的に利用頻度が高そうなのが、この使い方です。ホームページ上にある特定のデータを取得し、Excelのシート上に展開するパターンです。このパターンではホームページの特定の場所(位置、部分)から取得するのか、またはホームページ内すべてのデータを取り込むだけでいいのかで、処理の難易度が変わってきます(通常は前者でしょう)。この時に前項で言ったタグの理解力が必要になります。これは画像のダウンロードでも同様にタグ(この場合はIMGが主)の理解が必要になります。
またただ単純にデータを取得するのではなく、その前に特定の条件下で表示した結果をExcelに展開したいという場合もあります。よく?ありそうなのが、検索画面の結果です。この場合、キーワードをあらかじめ用意しておき、1つ目のキーワードをセットしてその検索結果をExcelに展開、そして2個目を検索・・・といった流れを繰り返し行うようなイメージです。これは次項の「Excelからホームページへ」の複合技的な利用方法でもあります。
この処理は検索結果をExcelシートに表示するという意味では同じですが、その前に「検索キーワードを用意して繰り返し検索させる」というステップが入ります。ここでもタグの理解が必要となります。特にタグの構成はホームページ側(ウェブマスター)が管理しているので、タグを勝手?に変更されるとExcel側のプログラムも変更しないといけないので、注視して運用する必要も出てきます。

Excelからホームページへ

今度はExcelのデータをホームページへ反映させる方法についてですが、この場合は先ほどと違って確認事項が煩雑になります。
よくあるパターンではExcelで読み込めるデータであるCSVデータの内容をホームページへ反映(アップロード)させるといったものです。
例えば弊社では商品データを指定のホームページへアップロードさせる仕組みを開発したりしていますが、この作業でキモとなるのはホームページ側にあります。Excel単体では「アップロード」と言う機能はなく、ホームページ(Webサーバ)側で用意されているものを使う(データを渡す:POSTする)ということです。
従いExcelが用意したデータをWebサーバー側でどのような形で受け取ってくれるのかを確認しておく必要があります。そしてその確認結果に応じてExcel側のアップロード手続きを合わせていくようなイメージです。
また商品登録の場合は商品画像もアップロードが必要だったりします。この場合は商品情報だけでなく、画像も一緒にアップロードする仕組みが必要です。
このように基本的には「Excelからホームページへ」の流れの開発の方が煩雑になります。しかし一回作ると使いまわしが効きやすく、CSV内の商品全部をアップロードするということが可能になります。

開発難易度は・・・

「ホームページからExcelへ」、あるいは「Excelからホームページへ」のどちらも難易度は高いと言えますが、ホームページのデータをExcelでよく活用する企業の方などは覚えておくと相当効率化できるのは間違いありません。

カテゴリ:VBA:実務活用