Internet Explorerを最小化/最大化/元のサイズに戻す
Excel VBAマクロでIEを自動操作する際、画面サイズを最小化、最大化、元のサイズに
WindowsAPIを使用して、画面サイズを変更します。
IEを最小化、最大化、元に戻すサンプルコード
'■ShowWindow(WindowsAPI)を使用する為宣言(Excel 32bit/64bit両方)
#If VBA7 Then
Private Declare PtrSafe Function ShowWindow Lib "USER32" (ByVal hwnd As LongPtr, ByVal nCmdShow As Long) As Boolean
#Else
Private Declare Function ShowWindow Lib "USER32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Boolean
#End If
'■InternetExplorerで画面を最小化、最大化、元に戻す
Sub sample_IE_Refresh()
Dim objIE As InternetExplorer
Dim chk As Long
'■IEを起動
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
'■指定したURLに飛び、Webサイトの表示を待つ
objIE.navigate "https://vba-create.jp/"
Call Call_IE_WaitTime
'■画面サイズを最大化
chk = ShowWindow(objIE.hwnd, 3)
'■画面サイズを最小化
chk = ShowWindow(objIE.hwnd, 2)
'■画面サイズを元に戻す
chk = ShowWindow(objIE.hwnd, 1)
End Sub
注意点
- こちらのコードだけでは動作しません。
下記の読み込み待ちのパーツ化したコードが必要です。
VBAでIE操作「ブラウザの読込待ち」処理をパーツ化する【エクセルマクロ】 - 一度にすべて実行すると切り替わりが早すぎて、処理がよくわからないと思います。
使用したいコードのみお使いください。 - Dim chk as longがあるのは、成功すれば返り値が0以外の値がくるためです。
コメント