Hi Ben, first sorry for answering late, I have seen your mail before, but the tons of mails of Pharo got over it.
I will tell you the state of what I have and what maybe you will need. But, before my plan is to improve this, but as with everything it is easier to push it if I have some users. - I have implemented a way of expressing FFI calls to COM objects, I have solved all the problems of the Vtable and the different types. So it is possible to create a wrapper for any of the COM objects. I have done so for the objects used in the "reflective" API of COM. - My idea is to use the reflective API to generate automatically the Pharo Wrappers to the objects. This is nice, but if you need to use some known objects you don't need all this transparency as using known instances can be easily implemented. - I have some examples using the IE COM object as it is a nice thing to use, and also it uses many different things in the API (properties, variant, optional parameters, etc). However, the support in the Variant type is not full yet. You can receive and send variant type values, but reading the different contents is not implemented (it has like 30 different payloads in the type, I have only the basics). I have to check what I have know, because I have been working a little more, but I have to put it in Github and organize it a little. Now it is working in Pharo 6 32Bits. My plan is to first migrate it to Pharo7 also (I think it should be straight forward) and then implement it for 64 bits (this part is possible that requires a big rewritting, as the API has some changes from 32 to 64 bits). In the next days I will try to make a couple of examples to show how to map a known class. I remember that the reflective part now can query the interface and perform dynamic calls but the way of interacting with it should be improved. I really will love to have somebody using it, so I will try to help you if you (or other) has a use case. Usually having a use case is easy to move a project. Cheers, Pablo On Mon, Oct 30, 2017 at 6:11 PM, Ben Coman <b...@openinworld.com> wrote: > Hi Pablo, > > At work I managed to remote control Internet Explorer with Excel VBA like > this... > [1] http://www.automateexcel.com/vba/automate-internet-explorer > > and went looking for how similar might be achieved from Pharo. IIUC I > discovered this would be done via Microsoft's Component Object Model, and > then I bumped into your repo... > [2] https://github.com/tesonep/pharo-com > > Could you advise the status and your plans for this? Since I see its only > a few months old I've probably stumbled onto it prematurely, but I see no > documentation or tests to discover how to use it. So I'll curious whether > it makes something like [1] possible? And could you show how that would be > done? > > cheers -ben > > > P.S. For context, at work I automated IE since the intranet document > management system (OpenText) does authentication via a javascript function > in the browser, which doesn't compute with Microsoft's MSXML.DOMDocument > component. So I use IE to do the authentication and grab the raw XML from > IE to then stuff it into MSXML.DOMDocument from which I pull the data I > need. > > But I'd love to do it with Pharo instead (if I can get IT to white list it) > > cheers -ben > -- Pablo Tesone. teso...@gmail.com