改めて記事にするようなことでもないのですが、VBAでIE起動した後、終了する方法です。
当方のIE操作の記事全てにおいて、IEの終了部分までご説明していません。
Internet Explorerを終了するサンプルコード
'■InternetExplorerのオブジェクトを終了して、開放する。 Sub sample_IE_Finish() Dim objIE As InternetExplorer '■IEを起動 Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True '■該当ページへ遷移 objIE.navigate "https://vba-create.jp/" Call Call_IE_WaitTime '■IEを終了する objIE.Quit '■IEを解放する※オブジェクトの開放(なくてもいいと思ってますが、作法として説明します) Set objIE = Nothing End Sub
上記がIE操作の「基本中の基本」
上記のコードがVBAでIE操作する最も基本のコードです。
■基本コード
- IEを立ち上げる
- Webページを読み込みする
- 作業を行う※この部分はしたい操作をこちらから探してください。
- IEを終了する
- オブジェクトを解放する
まずは上記をコピペして実際の動きを確認してみてください。
コピペで簡単にIEが起動する事が出来ます。
自分自身のVBAのスキルアップや、VBA以外のスキル(JavaScriptやHTML)への挑戦にもなります。
エラーが出る?
Quit操作ではプロセスが残ってしまい、IEが起動しないケースが存在します。
プロセスの終了をすることで回避する事も可能ですし、
処理でIEを使わなくなるまでは「.Quit」しないようにしましょう。
プロセスの終了は下記記事を参考にしてください。
VBAでIE操作「Internet Explorerのプロセスを強制終了」する
その他
毎度おなじみですが、Call_IE_WaitTimeの処理はこちらを参照ください。
Function化の優位性を理解いただくため、関数化(Function)させています。
その他
Internet Explorerを使用して、Webスクレイピングは敷居が高い風に捉えられますが、
上記のように、パーツ化して組み合わせ処理するだけです。
Web上のデータを触りたい要望は会社様でも個人様でも多いと思います。
VBA IE操作を覚えて効率化しませんか?
作成が大変であれば弊社で代行開発も可能です。お気軽にお問い合わせください。
コメント