No , you can call system API's to list all running processes
to count the number of excel instances running but
AFAIK there's no way to specify which yu want to connect
to so as to be able to use automation to check the open
workbooks
As Keith pointed out, there's no simple way to do this. You could use
GetObject to get a running instance of Excel, then loop through the Workbook
objects. But there's no way to keep calling GetObject to get new instances
AFAIK.
You'll probably end up using the Windows API functions EnumWindows and
EnumChildWindows to do this. The main Excel application has a class name of
"XLMAIN", and it seems that the workbooks are listed under a subwindow of
XLMAIN with a class name of "XLDESK" (each workbook under XLDESK has a class
name of "EXCEL7"). These may be different in different versions of Excel
(mine is 2002).
Here's a page that has a great utility that should get you started:
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.