Excel VBAでIEを操作 ieの画面サイズや画面位置を変更する
今回は表示されているIEのウィンドウサイズを変更する方法について説明します。
特定のIEのサイズを変更する
立ち上がっているIEのサイズを変更する場合、ヒトが操作すると以下の行為が必要です。
- 複数立ち上がっているウィンドウの中からIEを選択する
- 複数のIEの中から該当のIEを特定する
- 位置やサイズを変更する
このヒトが無意識に行なっている動作をExcel VBAで表現される必要があります。
すると以下の通りになります。
実際のコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
'変数を必ず定義すると宣言 Option Explicit '変数を宣言 Dim objShell As Object Dim objWindow As Object Dim ieDoc As HTMLDocument Const strSite As String = "Yahoo" Sub ie_size() 'シェルのオブジェクトを作成 Set objShell = CreateObject("Shell.Application") '立ち上がっているエクスプローラーをすべて検索 For Each objWindow In objShell.Windows '対象をIEのみに限定 If objWindow.Name = "Internet Explorer" Then Set ieDoc = objWindow.document 'タイトルにYahooの文字列があるIEのみを対象に画面サイズ・画面位置を変更 If InStr(ieDoc.Title, strSite) > 0 Then objWindow.Left = 100 objWindow.Top = 100 objWindow.Width = 1000 objWindow.Height = 1000 End If End If Next End Sub |
と書いてもわかりずらいのですが、該当するアプリはエクスプローラーとIEです。
このシェルの中からIEを探しだし、さらにタイトルに「Yahoo」が含まれるウィンドウのサイズや表示位置を変更しています。
サイズ・位置を変更する
1 2 3 4 |
objWindow.Left = 100 objWindow.Top = 100 objWindow.Width = 1000 objWindow.Height = 1000 |
幅と高さをそれぞれ1000pxにするといった設定を上記でしています。