Excel-VBA プログラミング

【Excel-VBA】IE操作・スクレイピングのプログラミングの書き方を理解しよう!

Excel-VBA を活用して、IEを操作・スクレイピングの仕方について、

 

悩むサラリーマン1

  • Excel VBAを活用して、IEのホームページの画面を操作したい。
  • でも、どのように操作するかわからないな~。

 

そんなあなたの悩みにお答えして、IE操作そしてスクレイピングのプログラミングの記述方法を解説していこうと思います。

 

IEの操作手順を理解しよう!

IEの基本的な作成手順を理解しておきましょう。

IE・スクレイピングの主な4つの手順
  1. IEを起動する
  2. htmlソースをなめる(プログラムを探す)
  3. 目的のメソッド名を取得する(クリックボタンやテキストボックス名を取得する)
  4. 目的のメソッドを取得したら、それを選択・実行する
  5. IEを閉じる

 

1.IEを起動する

まず、IEを起動する処理を書いていきましょう。

IEを起動するには、まずObject変数を記述して、IEを動かしていきます。

 

2.htmlソースをなめる

次に、htmlソースを全部を読み込む処理が作っていきます。

 

3.目的のメソッド名を取得する

まずは、目的のメソッドを探すために、ソースの中から目的の「ボタン名」や「テキスト名」を探し、取得していきましょう。

 

4.目的のメソッドを「選択・実行」する

ボタンをクリックする処理」「テキストに入力する処理」のこれら2つを把握していれば、ある程度操作が可能になります。

 

5.IEを閉じる

そして、最後にIEの画面を転移(移動)したり、IEを閉じる処理を記述しましょう。

 

これらの処理を記述する基本的なメソッドを覚えておきましょう。

 

IE操作に必要な参照設定変更箇所

続いて、IEを操作するための参照設定についてみていきましょう。

IEを操作する際には、そのプログラムを動作する環境が必要です。その設定がこの「参照設定」で行うことができます。

 

ポイント

マクロ ➡ ツール ➡ 参照設定

 

から変更しましょう。

 

【参照設定画面】

 

ポイント

<IE操作に必要な参照設定について>

  • IE control 6.0
  • Microsoft Internet Controls

 

このどちらか、もしくは両方にチェックを入れて、エクセルを保存して、再度立ち上げましょう。

 

これで、IEのプログラミング環境が整いました。

 

管理者

この設定をしておかないと、プログラミングを記述してもエラーになりますので、必ず設定を忘れないように!

 

IE操作に必要なメソッドについて理解しよう!

それでは、実際にプログラミングを作成して、IEから情報を取得するためのメソッドを覚えていきましょう!

 

➡まず使用するメソッドはこちら

<IE操作に必要なメソッド5つ>

  • IE変数指定 : Set objIE = CreateObject("InternetExplorer.application")
  • URL指定・起動 : objIE.navigate URL名
  • ボタン名取得:Set objINPUT = objIE.Document.getElementsByTagName("INPUT")
  • テキストボックスに名称セット: objIE.Document.All.テキストボックス名.Value
  • ボタンを検索してクリック  : objIE.Document.All.ボタン名.Click 'クリック

 

 

これらの記述をまぜ合わせることで、検索ボタンを探索して、押下したり、テキストボックスに値を入力することができるようになります。

但し、この名称は、サイトによってもボタンのID名が異なっていますので、プログラムソースから確認しましょう。

 

IE操作のプログラミングの記述方法

 

それでは、実際にスクレイピングのVBAのプログラミングの記述方法について、解説していきましょう。

 

IE操作の記述方法はこちら

 

IE操作をする上で大切なこと

IE操作をする上で大切なことは、2つあります。

<IE操作をする上で2つの大切なこと>

  • IEの動きの流れを知る
  • IEのボタンやテキストなどにも名称がある

 

まずIE操作の記述の流れで大切なことは、サイトがどのような動きをしているかを考えながら記述することです。

 

IE操作の流れ

「WEBページを開く処理➡きちんと開くまで待機する➡テキストボックスに入力➡ボタンをクリックする➡開くまで待機する」

 

このような流れで、プログラミングを書いていきます。

そして、スクレイピングをする上でもう一つの大切なことが、ブラウザ上のボタンやテキストにも名称があるということ。これらをサイトのソースから見つけ出し、データをセット、そして操作できれば、IEの自動化が可能になります。

ちなみに、下記ツールも私が新たに開発した自動クリックツールの一つで、楽天ポイントを取得できる仕組みです。

 

<楽天Web検索の自動クリックツールのご紹介>

楽天Web検索を自動でクリックできる機能を開発しました。これにより、何度も手動で検索しなくても、自動で検索してくれるので、手軽に楽天ポイントをゲットできるVBAによる仕組みです。noteのページにて期間限定価格で100部ご紹介しております。ご興味のある方は下記ページより詳細をご確認下さい。^^

➡詳細はこちら

 

目安2~3ヶ月自動で動かせば、すぐに元が取れるので、プログラミングの勉強と楽天ポイント稼ぎをされている方はぜひこの機会にどうぞ(^_^)

 

IE操作する際の注意すべき点とは

IE操作する際には、まず最初に注意するべきことがあります。

それは、サイトのソースをきちんと確認することからはじまります。それはなぜか?

 

IE操作をする時に注意すべき3つのこと

その理由には、下記3つのことが挙げられます。

<IE操作において注意すべき3つの場合>

  • JavaScriptで記載されている場合
  • フレーム化されている場合
  • IEのバージョンによってメソッドが動作しない場合がある

 

IEサイト側も、スクレイピングを嫌がるところもあるため、サイトのソースをまめに変更する企業もあります。

そうすることで、情報が突然取得できないこともありますので、エラーが起こった場合には、すぐに確認するようにしましょう!

 

またサイトがフレーム化されていることで、メイン画面からソースを読めなかったり、javascriptで記載されているものは、VBAでは、容易に操作ができません。

 

 

VBAでIEを操作するならこの教材がおすすめ

 

VBAでIEを操作・スクレイピングをしたいなら、下記教材は、初心者の方でもすごくわかりやすくかかれていますので、かなりおすすめです^^

 

管理者

 

 

IEのソースの読み込みからボタンのクリック処理等細かく記述されています。私もこの教材に何度も助けられました。

※在庫がなくなることもありますので、ご興味のある方はお早めにご購入下さい。

 

 

まとめ

スクレイピングを行うには、VBA環境の設定が必要不可欠で、サイトによっても情報を取得できないこともありますので、正しい知識を習得した上でスクレイピングに挑戦してみてくださいね。

 

 

 

 


➡【月3万稼げる!ブログの始め方】


→当ブログをフォローして頂けると励みになります。 


楽天おすすめ商品はこちら

  • この記事を書いた人
  • 最新記事

みやさん

【サイト運営者・著者】みやさん 【実績】ライター歴7年 ブログ歴3年⇒2万PV推移中 【実務】現役プログラマー|【発信内容】▶副業やブログの始め方 ▶ライターとしてのノウハウ ▶生活の有益情報を発信しています。皆様の生活改善にご利用ください。

Copyright© 副業ケアネット , 2024 All Rights Reserved Powered by AFFINGER5.