As already suggested, where the filename is known use GetObject to reference
the workbook then attach to the parent application.
For situations where there is no known loaded wb, Jialiang Ge appears to
have demonstrated how to find multiple instances with .net
For VBA, I have two methods, briefly:
The first enumerates Excel windows, then workbook windows to find the file
name of a loaded wb. Having got that try GetObject parent. If that fails,
eg no loaded workbooks at all or some other reason, use DDE (from a helper
app) to add a new dummy hidden wb and try again.
The other way is finding in the ROT (clever stuff, not mine!) There are
dis/advantages with each. Via the ROT is faster but can't get be sure to get
all instances, eg no loaded wb as can with DDE (usually!).
If anyone is interested I have a demo that implements both methods. Having
got the ref's the withevents xlApp classes can track and record changes to
cells in all wb's in all instances, and one or two other things.
Regards,
Peter T
pmbthornton gmail com
"Ed White" wrote in message
...
From within VB.Net, if I want to access an instance of Excel that is
already
running, I'd use something like.
dim Exc as Excel.Application
Exc = GetObject(, "Excel.Application")
However, suppose I have more than one instance of Excel open. Is there a
way to cycle through each open instance, and to pick a specific one to
open?
--
Ed