WxPython question re: embedded activex internet explorer and excel

David Pratt fairwinds at eastlink.ca
Thu Mar 2 05:11:51 CET 2006


Hi jojoba. I work with wxPython too but cannot answer this question. 
There is an active and friendly community of wxPython users on

wxPython-users at lists.wxwidgets.org

Robin Dunn, the lead person behind wxPython and others provide excellent 
advice and support on this list.

Regards,
David

jojoba wrote:
> Hi
> I currently am using an activex wrapper in wxpython to embed  Internet
> Explorer in a wxPanel:
> 
> IEmodule=win32com.client.gencache.EnsureModule('{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}',
> 0,1,1)
> InternetExplorerActiveXClass = MakeActiveXClass(IEmodule.WebBrowser,
> eventObj = self)
> self.WebBrowser                  = InternetExplorerActiveXClass(self,
> -1)
> 
> (where self is a wx.Panel)
> 
> That was ok.
> However, I am creating multiple of these activex webbrowsers and
> putting them in a wx.Notebook, one per page (where each page is a
> wx.Panel).
> On each page, i load a different .xls excel file:
> 
> self.WebBrowser.Navigate2(excelFilePath)
> 
> Great. All the files load fine.
> Ok, here's the weird part.
> When i choose among the different tabs for the wx.Notebook, I can see
> all the excel files fine. I can go into each and edit them too. But for
> some reason, i can't get focus away from the last-loaded excel file.
> That is, I can really only see the cursor flashing in a worksheet excel
> if and only if i am in the last-loaded excel file.
> 
> I tried self.WebBrowser.Document.Application.Workbooks[0].Activate() to
> activate another workbook (representing a different .xls file) but i
> get a win32com error saying the "Workbook Activate method failed"
> 
> Is there any way for me to get out of this? Does anyone have any idea
> how to bring other workbooks into focus using this activex scheme? Or
> am i approaching this from the completely wrong angle?
> 
> thanks to anyone who can get past this madness,
> jojoba
> 



More information about the Python-list mailing list