Simple terms! Seriously, I think you are making all this far more
complicated than necessary.
The term to be thinking about is "Automation". In essence this means
establishing an object reference to an instance of Excel, either one that
you have created or one that already exists. Thereafter you have pretty much
full control of that instance to do with as you will, to the application
itself and to any workbooks open in that instance. You can also trap events
in the referenced instance to respond to exposed events triggered by actions
outside your control, eg the user opens a Workbook or changes cell data.
You can establish multiple object references to a single instance (say in
multiple instances of your own app), and/or your application can set
references to multiple Excel instances.
Having said that It is very difficult to reference to multiple instances
that already exist using (VBA/6) GetObject or equivalent in other languages.
It's easy enough to find out how many instance are 'out there', but on its
own GetObject will find only a random existing instance. That said, with a
*lot* of work it is possible to find and reference all existing instances,
though you'd need an extremely good reason to want to do that.
I don't understand what you mean by "Excel virtualization" or why that
should be necessary,
"MS not support concurrent access to Excel DLL". It does, as described above
(dll?).
if we have a virtualized Excel Instance 1 and Instance 2, how
do we programmatically distinguish between DLLs in these
In VBA/6 (or equivalent in other languages)
Set xlApp1 = CreateObject("excel.application")
Set xlApp2 = CreateObject("excel.application")
You have now created two instance (why?), currently not visible entirely
under your control. You could use GetObject to find multiple existing
instances but, as said, with considerably more work.
After all that I still don't follow what you want to do, maybe you can
clarify in the framework described above. (I'm not familiar with 'smohan',
and if it provides the means to Automate applications such as Excel).
Regards,
Peter T