ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Close all internet explorer windows (https://www.excelbanter.com/excel-programming/392703-close-all-internet-explorer-windows.html)

[email protected]

Close all internet explorer windows
 
Is there a way to close all open internet explorer windows from Excel
VBA. I am able to write the code to close the windows that my code
opens, but I cant get it to close the windows that were already open
prior to running the code. If you can't close them from Exel VBA
code, can you check if any are open.

Thanks for your help


Chip Pearson

Close all internet explorer windows
 
Try code like the following:

Option Explicit

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal HWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Public Const WM_CLOSE As Long = &H10
Public Const IE_WINDOW_CLASS = "IEFrame"


Sub CloseAllInternetExplorer()

Dim HWnd As Long
HWnd = FindWindow(IE_WINDOW_CLASS, vbNullString)
Do Until HWnd = 0
SendMessage HWnd, WM_CLOSE, 0&, 0&
HWnd = FindWindow(IE_WINDOW_CLASS, vbNullString)
Loop

End Sub


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting
www.cpearson.com
(email on the web site)


wrote in message
oups.com...
Is there a way to close all open internet explorer windows from Excel
VBA. I am able to write the code to close the windows that my code
opens, but I cant get it to close the windows that were already open
prior to running the code. If you can't close them from Exel VBA
code, can you check if any are open.

Thanks for your help



Chip Pearson

Close all internet explorer windows
 
I should have noted that the code I posted will not work properly for IE7 if
the "close tabs" confirmation dialog is set to display when IE7 closes.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting
www.cpearson.com
(email on the web site)

"Chip Pearson" wrote in message
...
Try code like the following:

Option Explicit

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal HWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Public Const WM_CLOSE As Long = &H10
Public Const IE_WINDOW_CLASS = "IEFrame"


Sub CloseAllInternetExplorer()

Dim HWnd As Long
HWnd = FindWindow(IE_WINDOW_CLASS, vbNullString)
Do Until HWnd = 0
SendMessage HWnd, WM_CLOSE, 0&, 0&
HWnd = FindWindow(IE_WINDOW_CLASS, vbNullString)
Loop

End Sub


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting
www.cpearson.com
(email on the web site)


wrote in message
oups.com...
Is there a way to close all open internet explorer windows from Excel
VBA. I am able to write the code to close the windows that my code
opens, but I cant get it to close the windows that were already open
prior to running the code. If you can't close them from Exel VBA
code, can you check if any are open.

Thanks for your help





All times are GMT +1. The time now is 04:31 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com