Outlook COM

michael montagne montagne at boora.com
Fri May 4 19:10:04 EDT 2001


It appears that makepy -i is the culprit.  I removed the files it made and
now it works again.  Wonder what I did wrong.

-mjm

"michael montagne" <montagne at boora.com> wrote in message
news:qnGI6.40025$FS3.467763 at sjc-read.news.verio.net...
> I had this code running and now something has changed and I'm stuck.
>
>
> I am getting this error message:
>     Traceback (most recent call last):
>       File "e:\python21\pythonwin\pywin\framework\scriptutils.py", line
301,
> in RunScript
>         exec codeObject in __main__.__dict__
>       File "E:\Python21\GetRFIEmail.py", line 28, in ?
>         objemail=folder.Items(i)
>     AttributeError: _Items instance has no __call__ method
>
> When I run this code:
> import win32com, sys, string, win32api, traceback, re, urllib
> import win32com.client.dynamic
> from win32com.client import gencache
> from win32com.client.gencache import EnsureDispatch
>
> class myURLOpener(urllib.FancyURLopener):
>
>     def setpasswd(self, user, passwd):
>         self.__user = user
>         self.__passwd = passwd
>
>     def prompt_user_passwd(self, host, realm):
>         return self.__user, self.__passwd
>
> gencache.EnsureModule('{00062FFF-0000-0000-C000-000000000046}',0,9,0)
> strPrefix="e:\\mjm\\RFILogs\\"
> #objOut = win32com.client.dynamic.Dispatch("Outlook.Application.9")
> objOut=EnsureDispatch("Outlook.Application.9")
> print objOut
> objNamespace=objOut.GetNamespace("Mapi")
> objNamespace.Logon()
> folder=objNamespace.Folders.Item("Public Folders").Folders.Item("All
Public
> folders").Folders.Item("Proj").Folders.Item("98011 UC
> Davis").Folders.Item("UCD RFI's")
> cnt=folder.Items.Count
> print cnt
> i=1
> while i <= 20:
>     print i
>     objemail=folder.Items(i)
>     strbody=objemail.body
>     strsubject=objemail.subject
>     print strsubject
>
>     ii=string.find(strbody,"http:")
>     if ii != -1:
>
>         strurl=strbody[ii:]
>
>         istart=string.find(strurl,"UNID")
>         iend=string.find(strurl,"?Opendocument")
>         strFileName=strurl[istart+5:iend]
>
>         urlopener = myURLOpener()
>         urlopener.setpasswd("consultant", "ae")
>
>         strOutFile=strPrefix + strFileName + ".html"
>         fp=urlopener.retrieve(strurl,strOutFile)
>     else:
>         print "No URL found:"
>     i= i+1
>
>





More information about the Python-list mailing list