views:

1247

answers:

5

I would like to use Python to script an application that advertises itself as providing an OLE component. How should I get started?

I don't yet know what methods I need to call on the COMponents I will be accessing. Should I use win32com to load those components, and then start pressing 'tab' in IPython?

A: 

You need the win32com package. Some examples:

from win32com.client.dynamic import Dispatch

# Excel
excel = Dispatch('Excel.Application')

# Vim
vim = Dispatch('Vim.Application')

And then call whatever you like on them.

Ali A
+1  A: 

You can find an example on this website. OLE and is related to COM and ActiveX so you should look out for those terms. Do you have access this book from O'Reilly - Python Programming on Win32?

There is also a Python Win32 mailing list.

BrianLy
Thank you; the website and book are helpful.
joeforker
A: 

Please take a look at the python-win32 package, and, in particular, at its win32com API.

Martin v. Löwis
A: 

PythonWin (http://sourceforge.net/projects/pywin32/), bundled with python-win32, comes with its own COM browser as part of its shell and debugging environment.

joeforker
+1  A: 

win32com is a good package to use if you want to use the IDispatch interface to control your objects (slow). comtypes is a better, native python, package that uses the raw COM approach to talking to your controls. WxPython uses comtypes to give you an ActiveX container window from Python ... sweet.

ZebZiggle