Я использую следующий код для взаимодействия с окном IE. Код работает отлично, ЕСЛИ окно не было свернуто, и оно просто позади другого windows, которое я открыл. Если пользователь свернул окно IE, то вещи, которые я пытаюсь сделать с IE, не запускаются. Что я могу добавить, чтобы свернуть окно, если оно свернуто. Я бы предпочел оставить окно в том же состоянии (если у пользователя оно развернуто или масштабировано так, чтобы покрывать только часть экрана).
Public Declare Function SetForegroundWindow Lib "user32" (ByVal HWND As Long) As Long
Dim ie As Object
Dim GetIE As Object
Dim HWNDSrc As Long
Dim sIEURL As String
For Each GetIE In CreateObject("Shell.Application").Windows() 'Loop to find
If (Not GetIE Is Nothing) And GetIE.Name = "Internet Explorer" Then Exit For 'Found!
Next GetIE
GetIE.Visible = True 'Make IE window visible
Set ie = GetIE
HWNDSrc = ie.HWND
SetForegroundWindow HWNDSrc
'some code here
End Sub