> 'olMailItem' is a predefined object from Outlook's object model (there
> are several objects...folders, calenders etc). The 'CreateItem' method
> takes this as it argument. I also tried passing the value "0" which is
> the integer representation of that object. I am assuming the via the
> WIN32OLE module that I have access to the full object model?  I
> haven't had many problems with excel or word. If my syntax is wrong,
> please correct me.
>
> thxs,
> KK
OK,
I had never done it but a quick check at the msdn and the ruby book tells me
olMailItem is a constant and that such constant needs to be explicitly
loaded
in a class to be available. So I did:

irb(main):024:0> class OutlookConst
irb(main):025:1> end
nil
irb(main):026:0> OutlookConst.inspect
"OutlookConst"
irb(main):027:0> WIN32OLE.const_load(olApp, Outlook)

then
irb(main):028:0> Outlook.constants
["OlRemoteUser", "OlTaskRequestUpdate", "OlMenu", "OlFolders", "OlNumber",
"OlHome", "OlPersonal",
...."OlMailItem"...
]
ok so the constant names have an uppercase first later to comply with ruby's
idea of a constant.

then
irb(main):031:0> oleApp.CreateItem(Outlook::OlMailItem)
#<WIN32OLE:0x100b8bc8>
victory ;-)
Benoit