En Fri, 05 Sep 2008 05:23:01 -0300, Tim Golden <[EMAIL PROTECTED]> escribió:

Gabriel Genellina wrote:
Hello
 I want to control Internet Explorer. This is what I have so far:
 import win32com.client
from win32com.client.gencache import EnsureDispatch
url = "..."
IE = EnsureDispatch("InternetExplorer.Application")
IE.Navigate(url)
IE.Visible = 1
It works fine and shows the requested page. Now I want to use the "Save As" command. Looks like I should call the IWebBrowser2.ExecWB method, passing IDM_SAVEAS as the command and MSOCMDEXECOPT_DONTPROMPTUSER in the options. But I don't know how to obtain the value for such constants... I could dig into the C header files looking for them, but is there some other way? The ExecWB method is documented here http://msdn.microsoft.com/en-us/library/aa752117(VS.85).aspx

The usual way to get at constants after a Dispatch
is via the win32com.client.constants object. In this
case, the constant you want is OLECMDID_SAVEAS which...

<code>
import win32com.client

IE = "InternetExplorer.Application"
ie = win32com.client.gencache.EnsureDispatch (IE)

print win32com.client.constants.OLECMDID_SAVEAS </code>

Ok, thanks! Looks like these are the names to use instead:

IE.ExecWB(
  constants.OLECMDID_SAVEAS,
  constants.OLECMDEXECOPT_DONTPROMPTUSER,
  filename,
  None)

Altough the ...DONTPROMPTUSER option doesn't work - the Save As dialog always appears. Some kind of permission or safety measure, I presume.

My original intent was to save the file using the .mht format, but that format is not listed on the Save As dialog. I'll investigate using IMessage.CreateMHTMLBody but that's a different topic.

--
Gabriel Genellina

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

Reply via email to