まだ、あまり確立されていないVBAでIEを動かすプログラムについて、
素人ながらまとめてみました!
【まとめ】VBAでIEを動かすプログラムまとめ!
そんな方に向けて、VBAでIE(Inetrnet Exploer)を動かすプログラミングをまとめました!
・IEで特定のアドレスを開くところから、
・ボタンを押して検索するところまで、
ひととおり、解説していきたいと思います。
基本、ど素人で独学で学んだプログラムですので、
ひどい書き方なところが多数あるかと思いますが、
だからこそ素人にはわかりやすいプログラムになっているかと思います。。
ぜひこの記事を参考に、IEを思い通りに動かせるようにしていきましょう!!
基本的な動作の確認
VBAでIEを動かす方法は、基本的に、
①まずはサイトを開く
②サイトの情報を読み取り、特定のタグを探す。
③読み取ったタグに指示を送る
この3点になります。
例えばグーグルで「マクロ」と検索したいのであれば、
①「https://www.google.co.jp/」 を開く
② 開いたページより、検索窓が<input>タグのname=qであることを確認する。
③ <input>タグのname=qに「ブログ」と打ち込むよう指示を送る。
という流れですね。
サイトの情報=HTMLが読み取れるようになると理解しやすいところはありますが、
わからなくても問題はありません。笑
それでは、各々の方法について解説していきたいと思います!
①サイトを開く方法
まずは、サイトを開く方法です。
サイトを開く方法は、こちらの記事を参考にしてください。
基本的には、「こんな呪文があるんだ」レベルでいいと思います。
また、パターン2として、
既に開いているサイトの情報を読み取りたいことがあると思います。
その場合は、こちらの記事を参考にしてください。
新しいタブで開きたい場合は、こちら
②サイトの情報を読み取り、特定のタグを探す。
サイトを開くことができたら、次はサイトの情報を読み取っていく必要があります。
①「https://www.google.co.jp/」 を開く
② 開いたページより、検索窓が<input>タグのname=qであることを確認する。
③ <input>タグのname=qに「ブログ」と打ち込むよう指示を送る。
の第2ステップです。
サイトはHTMLという言語で構成されており、
文章→<P>
入力欄・ボタン→<input>
など、きめられたタグで囲まれており、おのおの特定の名前が付けられています。
googleの検索窓であれば、<input>タグの名前が「q」になります。
これらの方法を読み取るためには、
・インターネットエクスプローラーを用いて、1個1個特定していくやり方と、
・とにかく全部エクセルに書き出す方法
があります。
僕としては、とりあえずエクセルに書き出して、情報を追っていくスタイルを推奨しています。※そのほうが、全体像がわかりやすい
エクセルにすべての情報を書き出す方法はこちらの記事を参考にしてください。
ちょちょっと1つの要素だけ知りたい方はこちら
③読み取ったタグに指示を送る
それでは最後の仕上げです。
先ほど読み取った情報に指示を送っていきましょう。
具体的に言うと
・検索窓に文字を入れる
・ボタンを押す
などなどですね。詳細はこちらの記事を参考にください。
こちらの記事では、これらを総合して、検索を自動化、ログインを自動化しています。
また、入力だけでなく、内容を読み取ってエクセルに吐き出すことも可能です。
・表を書き出す
・リンクをすべて取得する
・YAHOOの検索補助を抜き出してみる
などの、プログラムを作成してみましたので参考にしてください。
また、要素の特定のときに、よく使うgetelementの種類についても下記にまとめています。
どうしても要素が見つからないときは無理やり動かせ
どうしても、要素が見つからないときなどは、
sendkeysを使って、
キーボードを自動で動かしたことにする方法を試してみましょう。
また、sendkeysを使うと、
画面のスクリーンショットなども撮ることが可能です。
まとめ
これで一通り、VBAでIEを動かすことができるようになったかなと思います!
何かわからないことなどありましたら、どしどしコメント欄で質問下さい!
コメント欄