ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How to close ALL instances of Excel (https://www.excelbanter.com/excel-programming/374850-how-close-all-instances-excel.html)

spIky haIred

How to close ALL instances of Excel
 
Hi everyone,

I would like to close ALL instances of Excel... I am able to close all
workbooks within an instance of Excel but cannot close workbooks in
other instances of Excel... Is there a way to scan all open windows? Or
even better, to scan all open instances of Excel only?

Help would be much appreciated.
Thanks in advance,
Jason


NickHK

How to close ALL instances of Excel
 
This code is to run in Excel VBA ?
You want to close your own instance ?

Depending on the above GetObject may not be the answer, as you cannot
stipulate which instance gets returned.
Maybe use the API FindWindow with "XLMAIN" and SendMesssage with "WM_CLOSE"
?

NickHK

"spIky haIred" wrote in message
oups.com...
Hi everyone,

I would like to close ALL instances of Excel... I am able to close all
workbooks within an instance of Excel but cannot close workbooks in
other instances of Excel... Is there a way to scan all open windows? Or
even better, to scan all open instances of Excel only?

Help would be much appreciated.
Thanks in advance,
Jason




NickHK

How to close ALL instances of Excel
 
Sorry, that should be PostMessage not SendMessage.
http://support.microsoft.com/?kbid=176391
http://vb-helper.com/howto_terminate_process.html

But you would still need to check if the Excel instance is yours, if running
in Excel/VBA.

NickHK

"NickHK" wrote in message
...
This code is to run in Excel VBA ?
You want to close your own instance ?

Depending on the above GetObject may not be the answer, as you cannot
stipulate which instance gets returned.
Maybe use the API FindWindow with "XLMAIN" and SendMesssage with

"WM_CLOSE"
?

NickHK

"spIky haIred" wrote in message
oups.com...
Hi everyone,

I would like to close ALL instances of Excel... I am able to close all
workbooks within an instance of Excel but cannot close workbooks in
other instances of Excel... Is there a way to scan all open windows? Or
even better, to scan all open instances of Excel only?

Help would be much appreciated.
Thanks in advance,
Jason






JLGWhiz

How to close ALL instances of Excel
 
Application.Quit is one way, but you might get a few dialog boxes to respond
to if you don't either save the workbooks or mark them as saved before you
apply it.

"NickHK" wrote:

Sorry, that should be PostMessage not SendMessage.
http://support.microsoft.com/?kbid=176391
http://vb-helper.com/howto_terminate_process.html

But you would still need to check if the Excel instance is yours, if running
in Excel/VBA.

NickHK

"NickHK" wrote in message
...
This code is to run in Excel VBA ?
You want to close your own instance ?

Depending on the above GetObject may not be the answer, as you cannot
stipulate which instance gets returned.
Maybe use the API FindWindow with "XLMAIN" and SendMesssage with

"WM_CLOSE"
?

NickHK

"spIky haIred" wrote in message
oups.com...
Hi everyone,

I would like to close ALL instances of Excel... I am able to close all
workbooks within an instance of Excel but cannot close workbooks in
other instances of Excel... Is there a way to scan all open windows? Or
even better, to scan all open instances of Excel only?

Help would be much appreciated.
Thanks in advance,
Jason







spIky haIred

How to close ALL instances of Excel
 
hi all, thanks for your help on this, i have tried application.quit but
it still leaves the other "instances" of excel open...
Nick i shall try your solutions, thanks again


spIky haIred

How to close ALL instances of Excel
 
sorry guys, couldnt get the solutions to work...
any more advice?
let me rephrase my question... probably wasn't clear at the start..
im trying to close all excel workbooks in any number of windows using
either excel vba or vbscript...
thanks again


spIky haIred

How to close ALL instances of Excel
 
sorry guys, couldnt get the solutions to work...
any more advice?
let me rephrase my question... probably wasn't clear at the start..
im trying to close all excel workbooks in any number of windows using
either excel vba or vbscript...
thanks again


spIky haIred

How to close ALL instances of Excel
 
sorry guys, couldnt get the solutions to work...
any more advice?
let me rephrase my question... probably wasn't clear at the start..
im trying to close all excel workbooks in any number of windows using
either excel vba or vbscript...
thanks again


NickHK

How to close ALL instances of Excel
 
So you are closing Workbooks in the same (your current) instance of Excel ?
Dim WB As Workbook
For each wb in workbooks
if wb.name<thisworkbook.name then
wb.close 'True/false depending on your requirements
end if
next

VBScript would be the same, but with an added
Dim XLAPP as object
Dim WB As Workbook

set xlapp=getobject("Excel.Application")
if not xlapp is nothing then
For each wb in xlapp.workbooks
wb.close 'True/false depending on your requirements
next
end if

Clossing all WBs in all instances from VBScript
Dim XLAPP as object
Dim WB As Workbook

do
set xlapp=getobject("Excel.Application")
if xlapp is nothing then exit sub
For each wb in xlapp.workbooks
wb.close 'True/false depending on your requirements
next
loop

You should add error handling

NickHK

"spIky haIred" wrote in message
ups.com...
sorry guys, couldnt get the solutions to work...
any more advice?
let me rephrase my question... probably wasn't clear at the start..
im trying to close all excel workbooks in any number of windows using
either excel vba or vbscript...
thanks again





All times are GMT +1. The time now is 05:15 AM.

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