External API access?

 From:  Michael Gibson
2810.4 In reply to 2810.3 
Hi Ella,

> Hrm, yeah, COM would do it. That's really heavyweight as
> far as a way to interact with something goes; ok if you're
> working in .NET, say, but a huge pain from most other languages.

Well, that existing JavaScript API that you were asking about is implemented as COM/Automation interfaces.

So the way it would be accessed would be through some form of COM interop mechanism.

COM has been around for quite a long time now on Windows, so it is pretty normal for languages to have some facility to access COM APIs.

Python seems to have plenty of stuff in this area, according to here:
http://oreilly.com/catalog/pythonwin32/chapter/ch12.html

See the section "Using Automation Objects from Python":

quote:

so to create an object that interfaces to Excel, use the following code:

>>> import win32com.client
>>> xl = win32com.client.Dispatch("Excel.Application")
>>>

xl is now an object representing Excel. The Excel documentation also says that a boolean property named Visible is available, so you can set that with this code:

>>> xl.Visible = 1
>>>


Doesn't seem to be too painful - it looks like once you have kind of connected it up you should be able to use it with a natural syntax.

That would be for accessing things like UI objects, services like point pickers, object pickers, etc...


> Hence wondering if a flatter interface was possible. If not,
> though, then that makes sense.

It does make sense to have a different mechanism for trying to hit large blobs of binary data more directly, that's not really covered in the current scripting API.

- Michael