Hi Alan,

1.) Try to get the documentation of the program. ;-)
Or check the registry by searching for "YourApplication.Application" or just 
try it with
win32com.client.Dispatch("YourApplication.Application") in Python with win32com 
installed.

Checkout MakePy from PythonWin (installs with the win32com, I think) as 
described here:
http://oreilly.com/catalog/pythonwin32/chapter/ch12.html

Also you can use the VB-Editor from Office to determine available libraries. In 
Word/Excel press ALt+F11, then Extras/Links.

And check if the program has a macro recorder. If the code looks like VB it is 
quite likely to have something, I asume.

2.) Read the documentation of the program *again*
or see at 3.)

3.) Programming against COM in Python is quite straightforward. Look how it is 
done in VB then make it identical (but nicely) in Python.
Sometimes there are some quirks (like when functions in VB work as setters foo.bar() = newValue), but win32com offers often solutions for this (in the example Python creates a setter, if I remember correctly)

For Office checkout the Microsoft website. I have to admit its a pain in the ass to find something there, but I eventually got the Word reference as an example:
http://msdn.microsoft.com/en-us/library/office/ff837519%28v=office.15%29.aspx
Same works with other Microsoft products and probably for most commercial 
products with COM support.

Your last questions I can't answer.

Hope this helps.

Andreas

schrieb Alan Gauld am 05.03.2014 13:27:
After a long absence(~10 years!) I'm now back to programming
in Windows. I need to automate some workflows using COM to
various applications (mixture of in-house and commercial).

I'm having problems finding out which apps even support
COM access and figuring out what COM objects/methods exist.

I seem to recall back in my Delphi days that there were
explorer tools for discovering some of this (WindowsSpy
was maybe one?)

So the questions are:

1) How can I determine whether an application has a COM
    interface in the first place?

2) If it exists, how to I figure out what it supports?

3) Any recommended web sites for COM automation (not
    necessarily in Python but that would be ideal)

And for interest only, where is COM in the world
of .NET and Windows 8+ etc? Are there better options
today?

_______________________________________________
python-win32 mailing list
python-win32@python.org
https://mail.python.org/mailman/listinfo/python-win32

Reply via email to