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


みなさん、こんにちは!

いよいよこのシリーズが書けると思うとワクワクしていますタカハシ(@ntakahashi0505)です。

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

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

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

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

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

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

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

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

スポンサーリンク

エクセル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ページを開いてみる

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

Sub MySub()
 
    Dim objIE As InternetExplorer
    Set objIE = New InternetExplorer
     
    objIE.Visible = True
    objIE.Navigate "https://tonari-it.com/"
 
End Sub

実行すると…

いつも隣にITのお仕事トップページ
IEを操作して「いつも隣にITのお仕事」のトップページを開くことができましたね。

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

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

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

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

Dim オブジェクト変数 As InternetExplorer

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

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

Set オブジェクト変数 = New InternetExplorer

上記プログラムでは

    Dim objIE As InternetExplorer
    Set objIE = New InternetExplorer

の部分です。

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

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

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

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

InternetExplorerオブジェクト.Visible = True

上記プログラムでは

    objIE.Visible = True

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

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

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

InternetExplorerオブジェクト.Navigate URL

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

    objIE.Navigate "https://tonari-it.com/"

これでobjIEと名前をつけたIEで「https://tonari-it.com/」、つまり「いつも隣にITのお仕事」のトップページを開くことができます。

まとめ

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

これから何回かにわたって、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操作】WEBページのテーブル要素からセルのデータを取り出す方法
  9. 【エクセルVBAでIE操作】IEで検索窓にキーワードを入力して送信する方法
  10. 【エクセルVBAでIE操作】検索結果一覧から記事タイトルを取得する方法
  11. 【エクセルVBAでIE操作】ブログの記事一覧ページから公開日とカテゴリを取得する
  12. 【エクセルVBAでIE操作】ページャーをめくって複数ページからデータを取得する
  13. 【エクセルVBAでIE操作】ユーザー名とパスワードを入力してログインをする
  14. 【エクセルVBAでIE操作】name属性を利用して画像ボタンをクリックする
  15. 【エクセルVBAでIE操作】alt属性・src属性を利用して画像ボタンをクリックする

コメント

  1. mochan より:

    visibleがvisivleになってますよ

タイトルとURLをコピーしました