From: Steven Woody on
Hi,

I want to interactive with an OLE application with pywin32. The
problem is I get totally no idea how to find the object in OLEView and
how to figure out it's interface.

With pywin32's example, I even don't understand that in the below statement,

win32com.client.Dispatch('Excel.Application')

that where the name 'Excel.Application' comes from? In OLEView
(Microsoft's COM brower), I cannot find this name.


Could you give me any help? Thanks


--
Life is the only flaw in an otherwise perfect nonexistence
-- Schopenhauer

narke
public key at http://subkeys.pgp.net:11371 (narkewoody(a)gmail.com)
From: Alf P. Steinbach on
* Steven Woody:
> Hi,
>
> I want to interactive with an OLE application with pywin32. The
> problem is I get totally no idea how to find the object in OLEView and
> how to figure out it's interface.
>
> With pywin32's example, I even don't understand that in the below statement,
>
> win32com.client.Dispatch('Excel.Application')
>
> that where the name 'Excel.Application' comes from? In OLEView
> (Microsoft's COM brower), I cannot find this name.

It's a "programmatic identifier" a.k.a. "progid".

It identifies a COM class and it's used as a readable but more
name-collision-prone alternative to the 128-bit UUID.

You can find the programmatic identifiers in the Windows registry (use e.g.
regedit); often they're not documented.


Cheers,

- Alf