Excel-VBA プログラミング

【VBA】IE操作でボタンをクリックする2つの方法

今回は、VBAでIEを操作することをスクレイピング等と言いますが。

 

悩む女性1

  • VBAを活用してIEを操作したい!
  • web上の検索ボタンを自動でクリックしたい!

そんな悩みにお答えして、IE上のボタンを自動クリックする方法について解説していきましょう。

 

クリックしたボタンの名称を見つけよう!

 

クリックしたボタンの名称を取得するために、下記2つの点に注力しましょう!

 

Internet Explorer(IE)でサイトを開く

・Internet Explorer(IE)でサイト開きましょう。

注意するポイントとして、必ずブラウザは、Internet Explorerで開いて下さい。Chrome等ではなく、IEの方がソースコードを確認しやすいです。

 

IE画面ソースからプログラムを確認

Internet Explorerで開いたら、「ツールバー」➡「表示」➡「ソース」を選択しましょう。

 

IE側のソースコードの確認の仕方

「ツールバー」⇒「表示」⇒「ソース」

 

ここで、サイトのソースの一覧を見ることができますので、ここから自動クリックしたいボタン名を探しましょう!

 

参照設定を設定しよう!

続いて、VBAでIEを操作するためには、IEを操作するための参照設定の設定が必要です。

Excelを開いて参照設定の設定の仕方についてみていきましょう。

IEを操作する際には、そのプログラムを動作する環境が必要です。

その設定がこの「参照設定」で行うことができます。

 

参照設定箇所

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

 

から変更しましょう。

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

  • IE control 6.0
  • Microsoft Internet Controls

 

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

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

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

 

ボタンを自動クリックする2つの方法とは

ボタンを自動クリックする方法には、2つの方法があります。

<ボタンを自動クリックする2つの方法>

  • .Doucument.All.項目名.click」でボタンに名称がある場合
  • ボタンに名称がない場合、Inputタグから探しだす方法

 

1.ボタンに名称がある場合

こちらをご参照下さい。

 

このように、ボタンに名称が登録されている場合には、

.Doucument.All.項目名.click」でボタンをクリックすることが可能です。

この際ボタンの名称がついているのであれば、項目名を取得できるのです。しかし、ボタン名が登録されていない、表示されていない場合があります。

 

2.ボタンに名称がない場合

※但し、この場合は項目名がきちんと登録されていた場合です。項目名がない場合には、これは使えませんので、もう一つの方法があります。

 

それは、Inputタグ」から一つ一つのボタンを探していき、ボタンの名称から取得する方法です。

 

スクレイピングをしたいサイトのソースコードから探してみましょう。

 

プログラムソースコードの書き方

それでは、実際に、プログラムソースコードの書き方についてみていきましょう。

ボタンをクリックするイベントの書き方には、多数ありますが、まずこの2つの方法が試してみましょう。

下記をご参照下さい。

1.ボタン名がある場合のソースコードの書き方

【プログラムソースコードの書き方①】

<strong>objIE.Document.All.ボタン名.Click 'クリック</strong>

まずは、ソースコードを確認してみましょう。もしソースコードに、ボタン名が、submitの記載近くにある場合には、それがボタンの名称です。

この場合には、上記のメソッドが利用可能です。

 

2.ボタン名がない場合ソースコードの書き方

【プログラムソースコードの書き方②】

 

まずは、IEの起動をObject変数にセットしましょう。そして、実際にNavigateで画面を表示します。

ここまでは、IEの起動と同じです。

そして、その画面を開いた後で、「.Doucument.All.項目名.click」で、そのボタンを取得し、選択することが可能です。

しかし、ボタン名がある場合には、この処理は可能ですが、

ボタン名の記載がない場合には、①の処理ではエラーが起こる可能性があります。その場合には、②の処理で記述してみましょう。

 

※但し、ここのソースコードの記述は、あくまで自動でクリックするための処理を記述しております。ブラウザ待機時間等について別にて記載しておりますので、ご承知おきくださいね。

あくまで上記記述での動作環境は、

 

<動作環境>

OS:windows7
Office:Office2007

 

で動作確認済みです。

※異なる環境で動作する保証はございません。あらかじめご了承下さい。状況に応じてお問い合わせ下さい。

 

まとめ

このように、自動でボタンをクリックする方法は、「objIE.Document.All.ボタン名.click」でボタンを押下することが可能です。

但し、ソースコードの記載によっても取得が難しい場合がありますので、上記の処理を参考にしながら挑戦してみくてださいね。^^

IE操作であれば、テキストボックスにデータを入力する方法も必要ですので、こちらも必要に応じて確認しておきましょう。

 

 

 

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

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

noteページはこちら

 

ご不明点などございましたら、いつでもご連絡下さい。


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


大人気自宅飲み放題!多彩なビールをご自宅で楽しめる【DREAM BEER】

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

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

みやさん

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

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