VBA開発

VBAでIE操作「IEを終了する」【エクセルマクロ】

改めて記事にするようなことでもないのですが、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操作する最も基本のコードです。

■基本コード

  1. IEを立ち上げる
  2. Webページを読み込みする
  3. 作業を行う※この部分はしたい操作をこちらから探してください。
  4. IEを終了する
  5. オブジェクトを解放する

まずは上記をコピペして実際の動きを確認してみてください。
コピペで簡単にIEが起動する事が出来ます。

自分自身のVBAのスキルアップや、VBA以外のスキル(JavaScriptやHTML)への挑戦にもなります。

エラーが出る?

Quit操作ではプロセスが残ってしまい、IEが起動しないケースが存在します。
プロセスの終了をすることで回避する事も可能ですし、
処理でIEを使わなくなるまでは「.Quit」しないようにしましょう。

プロセスの終了は下記記事を参考にしてください。
VBAでIE操作「Internet Explorerのプロセスを強制終了」する

その他

毎度おなじみですが、Call_IE_WaitTimeの処理はこちらを参照ください。
Function化の優位性を理解いただくため、関数化(Function)させています。

その他

Internet Explorerを使用して、Webスクレイピングは敷居が高い風に捉えられますが、
上記のように、パーツ化して組み合わせ処理するだけです。

Web上のデータを触りたい要望は会社様でも個人様でも多いと思います。
VBA IE操作を覚えて効率化しませんか?
作成が大変であれば弊社で代行開発も可能です。お気軽にお問い合わせください。

 

コメント

タイトルとURLをコピーしました