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以外の値がくるためです。
コメント