日別アーカイブ: 2014年6月24日

Excel vba でIEを操作してみる 【 とにかくまずはIEを起動 】

下記3行で、IEは起動する。

Set ie_obj = CreateObject(“InternetExplorer.Application”)
ie_obj.Visible = True
ie_obj.Navigate2 “http://www.google.co.jp”

基本的にはこれだけなんで、簡単。

ここで Navigate2 というのをつかっているけど、Navigate というのももちろんある。
が、特に理由がなければ 2 を使った方が良いでしょう。
後々「新規タブで開きたい」なんて時には 2 でないとできないことがあるので。

ちなみに、新規タブで開くには

ie_obj.Navigate2 “http://www.google.co.jp”, 2048

と第二引数に「2048」を指定する。(16進数で「&H800」とかでもいい)
また、ここを「4096」(16進数では「&H1000」)にすると、新規タブで開くけど、非アクティブな状態になる。

 
 
そのほか、知っていると便利なオプションがいくつか

「objIE.Visible = True / False」
 IEの表示・非表示設定。Trueで表示。
 IEの操作開始時はFalseにしておいて、一通りそうさが終わったらTrueにすると良いかも。
 まぁ、自動でIEが操作されて画面が遷移していくのを眺めてるのも面白いけどね。

「objIE.FullScreen = False」
 フルスクリーン表示にするかウィンドウ表示にするか。
 デフォルトはFalseでウィンドウ表示。フルスクリーンにしたければTrueに。

「objIE.Top = 100」
「objIE.Left = 100」
「objIE.Width = 800」
「objIE.Height = 600」
 位置情報の指定。そのまま、ですな。

「objIE.Toolbar = True / False」
 ツールバーの表示・非表示を設定。デフォルトはTrueで表示する。

「objIE.MenuBar = True / False」
 メニューバーの表示・非表示を設定。デフォルトはTrueで表示する。
 ただ、IE7以上では見かけ上、メニューバーが表示されない。
 「Alt」を押すとでてくるので、あえてこれをFalseにするのは対象がIE6の時くらいかな?
 尚、ツールバーを非表示にすると、メニューバーも自動的に非表示設定になる。
 メニューバーをTrueにしてもツールバーがFalseだと表示されない。
 
「objIE.AddressBar = True / False」
 アドレスバーの表示・非表示を設定。デフォルトはTrueで表示する。
 これもツールバーを非表示にすると自動的に非表示設定になる。
 しかし、ツールバーをFalseにした後に、アドレスバーをTrueにすれば表示できる。
 (各順番が逆になると当然表示されない)

「objIE.StatusBar = True / False」
 ウィンドウ最下部のステータスバーの表示・非表示設定。デフォルトはTrueで表示する。