【エクセルVBAでIE操作】10分で終わるセッティングとWEBページの閲覧確認

★気に入ったらシェアをお願いします!

みなさん、こんにちは!
いよいよこのシリーズが書けると思うとワクワクしていますタカハシ(@ntakahashi0505)です。

エクセルVBAでInternetExplorerを操作できるのはご存知ですか?

意外と知らない方も多いようなのですが、VBAをやるからにはこのテクニックを身に着けておかない手はありません。

なんせ、自動で情報収集ができちゃいますから。

何回かに渡って、VBA初心者向けとしてエクセルVBAでIEを操作する方法をお伝えしていきます。

今回の記事ではその導入編。エクセルVBAでIEを操作するときに最初にすべきセッティングと動作確認までをやってみたいと思います。

まず、そもそもとしてのエクセルVBAのセッティングについては以下の記事などをご覧になって完了させておいて下さいね。これも10分ほどで終わりますから。

エクセルVBA超入門!たった10分でスタート地点に立つための方法
エクセルVBA…まず何をしたら良いかわからない…!という声をよく耳にします。今回はVBAプログラミングをいざ書き始める直前の状態を目標に、エクセルVBAの最低限のセッティングの仕方についてお伝えします。

ちなみに当サイトではWindows版のそれぞれExcel 2013とInternetExplorer11を使います。

ではよろしくお願いします!

エクセルVBAでWEBスクレイピング

ネット上にある情報を1回だけ取りに行くだけなら、そのページを開いて情報を入手するVBAプログラムを組むのはバカバカしいですが

  • 定期的に特定のサイトの情報を収集している
    • 例1:ランキング
    • 例2:金融情報
  • 同じタイプの大量のページから情報を収集する
    • 例3:カタログ

などの場合はプログラミングをしたほうが楽をできます。

WEBスクレイピングというのですが、IEを操作してWEBページのデータを取得して、エクセルのデータとして取りこんだり加工したりということを自動で行うプログラムを組むことができます。

いったんプログラムを組んで実行すればコンピュータが自動で確実にやってくれます。その間、みなさんはお茶会でもしていればOK。

必要なものはエクセルとIEだけ。ほとんどの方はお仕事のPCに入っていますでしょ?

今からちょこっと勉強してできるようになっちゃいましょう!

IEを操作するためのセッティング

まず実際にプログラミングに入る前に、エクセルVBAでIEを操作するための参照設定でライブラリを追加する必要があります。

まずVBEを開いて頂いて、「ツール」→「参照設定」。

VBEで参照設定

そうすると「参照設定」ウィンドウが開きます。山ほどライブラリが並んでいるのですが、スクロールして頭文字「M」を探してください。

そこで

  • Microsoft HTML Object Library
  • Microsoft Internet Controls

この二つのライブラリにチェックを入れてOKをします。

VBEでIE関連のライブラリを追加

はい、これで準備は完了です!

簡単でしょ?

さっそくIEを操作してWEBページを開いてみる

では細かいことは気にせず以下のプログラムを実行してみましょう。

全国の鉄キチの皆さん、お待たせしました!

IEでJR東日本のサイトを表示

IEを操作してJR東日本のWEBページを開くことができましたね。

このようにたったの4行でWEBページを開くことができます。

それぞれ解説をしていきますね。

InternetExplorerオブジェクトを準備して新しいIEをセット

まず、操作するIEを入れる”ハコ”つまりオブジェクト変数を準備します。

Dim オブジェクト変数 as InternetExplorer

一般のDimによる変数宣言と一緒ですね。変数の型を「InternetExplorer」にするだけです。

次にそのハコに新しいIEをセットします。

Set オブジェクト変数=CreateObject(“Internetexplorer.Application”)

CreateObject云々以下は決まり文句ですので、毎回同じ文言でOKです。

上記プログラムでは

の部分です。

これでobjIEという名前でIEを操作することができるようになりました。

VisibleプロパティでIEを表示する

オブジェクト変数にセットしただけではIEは使えません。IEを画面に表示するというダンドリが必要です。

その際、このように書きます。

オブジェクト変数.Visible = True

上記プログラムでは

の部分です。これでobjIEと名前をつけたIEが画面に表示されます。この時点ではまだ何のWEBページも表示されていない状態です。

navigateメソッドで特定のURLを開く

IEで特定のURLのWEBページを開く際は

オブジェクト変数.navigate 開くURL

と書きます。「開くURL」は文字列型ですので、ベタ打ちするときはダブルクォーテーションで囲います。

これでobjIEと名前をつけたIEで「http://www.jreast.co.jp/」つまりJR東日本サイトのトップページを開くことができます。

まとめ

難しそうと思われるかも知れませんが、あっという間にエクセルVBAでIEを操作する準備と動作確認ができましたね。

そして、全国の鉄キチの皆さん、お待たせしました!

これから何回かにわたって、JR東日本のWEBページから色々と自動で取得するというのを課題にして、エクセルVBAでIEを操作するシリーズの連載をしていきたいと思います。

次回の記事はこちらです。HTMLについて簡単に説明をしつつ開いたページのHTMLドキュメントを取得する方法についてお伝えしています。

【エクセルVBAでIE操作】HTMLタグと要素そしてドキュメントの取得
初心者向けエクセルVBAでIEを操作するシリーズの第2回目です。今回はHTMLタグと要素について簡単に説明をしつつIEで開いたページのHTMLドキュメントを取得する方法についてお伝えします。

どうぞお楽しみに!

連載目次:エクセルVBAをIEを操作してWEBスクレイピング

IEを操作してWEBページのデータを取得して、エクセルのデータとして取り込む、つまりWEBスクレイピングをエクセルVBAで実現します。各種WEBページを課題として様々なデータの取得の仕方を解説していきたいと思います。
  1. 【エクセルVBAでIE操作】10分で終わるセッティングとWEBページの閲覧確認
  2. 【エクセルVBAでIE操作】HTMLタグと要素そしてドキュメントの取得
  3. 【エクセルVBAでIE操作】ブラウザの読み込み待ちをしないとダメなのです
  4. 【エクセルVBAでIE操作】ページ内のリンク先URLを全部取得する
  5. 【エクセルVBAでIE操作】ディスクリプションなどの要素をname属性でGetする
  6. 【エクセルVBAでIE操作】hタグなどの要素をタグ名でGetする
  7. 【エクセルVBAでIE操作】WEBページのテーブル要素を自動で取得する方法
  8. 【エクセルVBAでIE操作】IEで検索窓にキーワードを入力して送信する方法
  9. 【エクセルVBAでIE操作】ページをクロールしてブログの記事一覧を取得する方法
  10. 【エクセルVBAでIE操作】ブログの記事一覧ページから公開日とカテゴリを取得する
  11. 【エクセルVBAでIE操作】ページャーを最後のページまでどんどんリンクする
  12. 【エクセルVBAでIE操作】ユーザー名とパスワードを入力してログインをする

連載目次:データ一覧から請求書を自動で作る

お仕事において特定のデータ一覧から必要な情報を抽出するということは頻繁にありうると思います。ここではデータ一覧から請求書を作るということを目標に、実務で使えるスキルをまっすぐに身に着けることを目的としています。
  1. 【初心者向けエクセルVBA】データ一覧から請求書を自動で作る
  2. 【初心者向けエクセルVBA】For~Next文で簡潔にプログラムを書く
  3. 【初心者向けエクセルVBA】行の数をカウントする&不要な行を隠す
  4. 【初心者向けエクセルVBA】文字列の連結&Format関数での書式変更
  5. 【初心者向けエクセルVBA】If~Thenを使った条件分岐の超入門
  6. 【初心者向けエクセルVBA】Public変数の宣言とSubプロシージャの呼び出し
  7. 【初心者向けエクセルVBA】InputBoxでの日付入力と月末日の自動算出
  8. 【初心者向けエクセルVBA】Worksheetのコピーを活用して複数の請求書を作る
  9. 【初心者向けエクセルVBA】ファイルのコピーを使って取引先別の請求書を作る
  10. エクセルVBAでDateAdd関数を使って年月を条件としてSumIfs関数を使う方法
  11. 宣言もセットも不要!エクセルVBAでワークシートをオブジェクト名で取り扱う方法
  12. エクセルVBAでシートの列の挿入も簡単に対応できちゃう列挙体の使い方

コメント

  1. mochan より:

    visibleがvisivleになってますよ