今回は、VBAでIEを操作することをスクレイピング等と言いますが。
[balloon_left img="https://tarmiyan.net/wp-content/uploads/2020/01/user-1.jpg" caption="ユーザー"]
・VBAを活用してIEを操作したい!
・web上のテキストボックス内に値を自動で入力してみたい!
[/balloon_left]
そんな悩みにお答えして、
IE上のテキストボックスに値を入力する方法について解説していきましょう。
テキストボックスの名称を見つけよう!
テキストボックスに値を入力するのは、まずweb上の画面で言うと、こんな画面です。
【画面イメージ】
簡単な例として、こんな画面に値を入力して、ボタンをクリックするところまで、自動でできると尚いいですね^^
テキストボックスの名称を取得するために、下記2つの点に注力しましょう!
Internet Explorer(IE)でサイトを開く
・Internet Explorer(IE)でサイト開きましょう。
注意するポイントとして、必ずブラウザは、Internet Explorerで開いて下さい。Chrome等ではなく、IEの方がソースコードを確認しやすいです。
表示➡ソースを選択
Internet Explorerで開いたら、「ツールバー」の「表示」から「ソース」を選択しましょう。
・「ツールバー」⇒「表示」⇒「ソース」
ここで、サイトのソースの一覧を見ることができますので、ここから項目名を探しましょう!
参照設定を設定しよう!
続いて、VBAでIEを操作するためには、IEを操作するための参照設定の設定が必要です。
Excelを開いて参照設定の設定の仕方についてみていきましょう。
IEを操作する際には、そのプログラムを動作する環境が必要です。
その設定がこの「参照設定」で行うことができます。
参照設定箇所:マクロ ➡ ツール ➡ 参照設定
から変更しましょう。
<IE操作に必要な参照設定について>
- IE control 6.0
- Microsoft Internet Controls
このどちらか、もしくは両方にチェックを入れて、エクセルを保存して、再度立ち上げましょう。
これで、IEのプログラミング環境が整いました。
逆に言うと、この設定をしておかないと、プログラミングを記述してもエラーになりますので必ず設定を忘れないように!
テキストボックスに値を入力するメソッドはこちら
テキストボックスに値を入力する方法は、こちらをご参照下さい。
1 | objIE.Document.All.項目名.Value = "値" |
「.Doucument.All.項目名.value」でテキストボックスに値入力が可能です。
項目名には、テキストボックスの項目名を取得する必要性があります。
スクレイピングをしたいサイトのソースコードから探しましょう。
プログラムソースコードの書き方
それでは、実際に、プログラムソースコードの書き方についてみていきましょう。
下記をご参照下さい。
【プログラムソースコードの書き方】
1 2 3 4 5 6 7 8 9 10 11 12 | Public Sub Textbox_Input() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.navigate "URL名" 'ログイン画面表示 objIE.Document.All.項目名.Value = "●●●●●" objIE.Quit End Sub |
まずは、IEの起動をObject変数にセットしましょう。
そして、実際にNavigateで画面を表示します。そして、その画面を開いた後で、「objIE.Document.All.項目名.value」で、その項目名を見つけることができ、そこに値を取得することができます。
※但し、ここのソースコードの記述は、あくまでテキストボックスにデータ取得するための表示方法を記述しております。ブラウザ待機時間等の表示はなしにしておりますので、ご承知おきくださいね。
動作環境について
あくまでこの記述での動作環境は、
OS:windows7
Office:Office2007
での動作環境です。
※異なる環境で動作する保証はございません。あらかじめご了承下さい。
まとめ
このように、テキストボックスにデータをセットする方法は、「objIE.Document.All.項目名.value」で取得が可能です。
ぜひテキストボックスにデータセットする方法を挑戦してみくてださいね。^^
何かわからないことがあれば、ご連絡下さい。
また引き続き、ボタンの自動クリックの方法についてもご興味の方は、ご確認下さい。
➡【VBA】IE操作・スクレイピングでボタンをクリックしてみよう!
➡【Excel-VBA】IE操作・スクレイピングのプログラミングの書き方を理解しよう!
<楽天Web検索の自動クリックツールのご紹介>
楽天Web検索を自動でクリックできる機能を開発しました。これにより、何度も手動で検索しなくても、自動で検索してくれるので、手軽に楽天ポイントをゲットできるVBAによる仕組みです。noteのページにて期間限定価格で100部ご紹介しております。ご興味のある方は下記ページより詳細をご確認下さい。^^