初心者でもできるVBA講座【マクロでIEを開く】

2015/09/03

はじめに

前回の【IE制御の初期設定】、前々回の【セッティング編】に引き続き、
今回は、マクロの作成、コーディングにとりかかりと思います。

が、その前にマクロを組む基本のプロシージャについて少し説明します。

プロシージャとは

プロシージャとは、処理を一つにまとめたもので、
VBAでは「Subプロシージャ」と「Functionプロシージャ」の2つがあります。
処理をまとめたプロシージャは、プログラムの中で同じような処理を何度も
行う場合に、呼び出すことができるので、同じ処理を何度も
書く必要がなくなり、修正もしやすくなります。

「Subプロシージャ」と「Functionプロシージャ」の違いは、
「Subプロシージャ」が引数を受けるのみで、
「Functionプロシージャ」は引数を受け取り、戻り値を返すことが
でき、関数としての役割を果たせます。

下記のように最初と最後を囲って一つの
プロシージャにまとめます。
書き忘れるとエラーが出て処理できません。
———————
Sub

End Sub
———————-
Function

End Function
———————-

IEを開く

それではさっそく、IEを開くコーディングして、実行してみましょう!

Sub sample()  ’変数の宣言
Dim IE As Object

‘IE(InternetExplorer)のオブジェクトを作成する
Set IE = CreateObject(“InternetExplorer.Application”)

‘IE(InternetExplorer)の表示
IE.Visible = True

‘指定したURLのページを表示
IE.navigate “http://https://rentub.com/dev/vba-ie-opne/‎”

End Sub

※’←アポストロフィーをつけるとコメントとして処理は行われません。

上記をモジュールにコピペしてIE開けたらOKですが、
一つ一つどういう処理を行っているのか
見ていきましょう。

変数の宣言

Dim IE As Object
メモリ領域を割り当てるDimステートメントを利用して
オブジェクト変数IEにInternetExplorer型を変数宣言しています。

これによりInternetExplorerオブジェクトを作成した際にプロパティや
メソッドを利用できるようになりました。

Q.なぜ宣言?
変数の宣言はしても、しなくても処理は行えます。
ではなぜイチイチ宣言するのか?
それは宣言をせずに処理すると
間違いをエラーで通知をしてくれません。
なのでタイプミスなどして、
処理がおかしくなっていても間違いに
気づくことが難しいのです。

絶対に間違わない人、もしくはコード一つひとつを確認して
間違い見つけ出すことができる人以外は宣言が必要となります。

VBEの[ツール]-[オプション]-[編集]タブの
[変数の宣言を強制する]チェックボックスをオンにすると設定できます。

InternetExplorerのオブジェクトを作成する

Set IE = CreateObject(“InternetExplorer.Application”)
オブジェクトを参照するSetステートメントとオブジェクトを作成する
CreateObject関数を利用してInternetExplorerのオブジェクトを作成します。

InternetExplorerの表示

IE.Visible = True
VisibleプロパティはInternetExplorerの表示・非表示の設定で、
「True」を設定してInternetExplorerの見える化してます。

指定したURLのページを表示

IE.navigate “http://https://rentub.com/dev/vba-ie-opne/‎”
指定したURLをInternetExplorerで表示する
InternetExplorerオブジェクトのNavigateメソッドの設定です。

完全にページが表示されるまで待機する

Do While objIE.Busy = True Or objIE.ReadyState <> 4
DoEvents
Loop

Webブラウザがページを完全に表示するまで待機する処理です。

さいごに

今回はIEを開くところまででしたが
これから業務に役立つ処理を紹介していくので、
まずは、今回のコードを自分で打ってみて
マクロを作る楽しさを実感してみてください!

法人向け人気レンタルサーバー
法人向け人気専用サーバー
個人向け人気レンタルサーバー