ie-excel

エクセル・マクロでie操作

Excel VBAでIEを操作 ieの画面サイズや画面位置を変更する

今回は表示されているIEのウィンドウサイズを変更する方法について説明します。

特定のIEのサイズを変更する

立ち上がっているIEのサイズを変更する場合、ヒトが操作すると以下の行為が必要です。

  1. 複数立ち上がっているウィンドウの中からIEを選択する
  2. 複数のIEの中から該当のIEを特定する
  3. 位置やサイズを変更する

このヒトが無意識に行なっている動作をExcel VBAで表現される必要があります。
すると以下の通りになります。

実際のコード
'変数を必ず定義すると宣言
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

Windowsのシェル(エクスプローラ)の機能を呼び出します。
と書いてもわかりずらいのですが、該当するアプリはエクスプローラーとIEです。
このシェルの中からIEを探しだし、さらにタイトルに「Yahoo」が含まれるウィンドウのサイズや表示位置を変更しています。

サイズ・位置を変更する
objWindow.Left = 100
objWindow.Top = 100
objWindow.Width = 1000
objWindow.Height = 1000

該当のIEに対して、左から100px、上から100pxの位置にウィンドウの左上がくるように設定

幅と高さをそれぞれ1000pxにするといった設定を上記でしています。

 

-ExcelでIE操作