PC Review Forums Newsgroups Microsoft Outlook Microsoft Outlook Program Addins Strange COM error

Reply

Strange COM error

 
Thread Tools Rate Thread
Old 05-06-2007, 10:41 PM   #1
=?Utf-8?B?RGV3ZXk=?=
Guest
 
Posts: n/a
Default Strange COM error


Hi
I posted a quesiton earlier, but it hasn't showed up in over an hour, so
I'll post again, this time with more info.
So I'm tring to access the Outlook 2003 Address book from VB.net (using
VS.net 2005). I get the list open just fine using a call to
objSession.AddressBook( ). However, once a name is selected, I get an error
that reads:


"Unable to cast COM object of type 'System.__ComObject' to interface type
"Microsoft.Office.Interop.Outlook.Recipients'. This operation failed because
the QuesryInterface call on the COM component for the interface with IID
'{0006303B-0000-0000-C000-000000000046}' failed due to the following error:
No such interface supported (Exception from HRESULT: 0x80004002
(E_NOINTERFACE))."


According to older documentation I found for VBA, the AddressBook( )
function returns a Recipients object, but I'm not getting it back, even when
I explicitly try to cast the return using CType. Instead, I get the error
above. Can someone help me?

Here's my code:



Public Function AddressBook_Click(ByVal myChoice As String) As String

Dim objNS As Microsoft.Office.Interop.Outlook.NameSpace
Dim objSession As Object 'As MAPI.Session

Dim objRecipients As Microsoft.Office.Interop.Outlook.Recipients

objSession = CreateObject("MAPI.Session")
objSession.Logon(, , False, False)
objRecipients = objSession.AddressBook(, "Please select", True,
True, 1, "mychoice")

AddressBook_Click = objRecipients.Item(1).AddressEntry

End Function


Thanks for your help!
-Josh
  Reply With Quote
Old 05-06-2007, 11:29 PM   #2
Sue Mosher [MVP-Outlook]
Guest
 
Posts: n/a
Default Re: Strange COM error

The error means just what it says: You're casting to the wrong class. Session.AddressBook is a CDO 1.21 method. Therefore, it returns a MAPI.Recipients object, not Outlook.Recipients.

Note, also, that CDO is officially unsupported in .NET languages.
--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003
http://www.turtleflock.com/olconfig/index.htm
and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
http://www.outlookcode.com/article.aspx?id=54

"Dewey" <Dewey@discussions.microsoft.com> wrote in message news:04A2CAB5-C41F-48AB-A9B9-1BA4060EA74D@microsoft.com...
> Hi
> I posted a quesiton earlier, but it hasn't showed up in over an hour, so
> I'll post again, this time with more info.
> So I'm tring to access the Outlook 2003 Address book from VB.net (using
> VS.net 2005). I get the list open just fine using a call to
> objSession.AddressBook( ). However, once a name is selected, I get an error
> that reads:
>
>
> "Unable to cast COM object of type 'System.__ComObject' to interface type
> "Microsoft.Office.Interop.Outlook.Recipients'. This operation failed because
> the QuesryInterface call on the COM component for the interface with IID
> '{0006303B-0000-0000-C000-000000000046}' failed due to the following error:
> No such interface supported (Exception from HRESULT: 0x80004002
> (E_NOINTERFACE))."
>
>
> According to older documentation I found for VBA, the AddressBook( )
> function returns a Recipients object, but I'm not getting it back, even when
> I explicitly try to cast the return using CType. Instead, I get the error
> above. Can someone help me?
>
> Here's my code:
>
>
>
> Public Function AddressBook_Click(ByVal myChoice As String) As String
>
> Dim objNS As Microsoft.Office.Interop.Outlook.NameSpace
> Dim objSession As Object 'As MAPI.Session
>
> Dim objRecipients As Microsoft.Office.Interop.Outlook.Recipients
>
> objSession = CreateObject("MAPI.Session")
> objSession.Logon(, , False, False)
> objRecipients = objSession.AddressBook(, "Please select", True,
> True, 1, "mychoice")
>
> AddressBook_Click = objRecipients.Item(1).AddressEntry
>
> End Function
>
>
> Thanks for your help!
> -Josh

  Reply With Quote
Reply



Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off