我在我的Windows应用程序中使用兑换。我写了这段代码
try
{
rFolder = rSession.GetSharedDefaultFolder(memberName, rdoDefaultFolders.olFolderCalendar);
rItems = rFolder.Items;
}
但是当它执行包含Session.GetSharedDefaultFolder()
的行时,它会抛出异常。
" IAddrBook.ResolveName出错:MAPI_E_NOT_FOUND"
我在网上搜索了这个问题,但我无法直接得到一些东西。请指教。
答案 0 :(得分:1)
为什么需要使用Redemption?
相反,我建议使用Namespace类的GetSharedDefaultFolder方法。它返回一个Folder对象,该对象表示指定用户的指定默认文件夹。
Sub ResolveName()
Dim myNamespace As Outlook.NameSpace
Dim myRecipient As Outlook.Recipient
Dim CalendarFolder As Outlook.Folder
Set myNamespace = Application.GetNamespace("MAPI")
Set myRecipient = myNamespace.CreateRecipient("Eugene Astafiev")
myRecipient.Resolve
If myRecipient.Resolved Then
Call ShowCalendar(myNamespace, myRecipient)
End If
End Sub
Sub ShowCalendar(myNamespace, myRecipient)
Dim CalendarFolder As Outlook.Folder
Set CalendarFolder = _
myNamespace.GetSharedDefaultFolder _
(myRecipient, olFolderCalendar)
CalendarFolder.Display
End Sub
请注意,您需要将Recipient类(已解决)的实例传递给方法,而不仅仅是成员名称。
运行上面列出的代码(当然,使用有效名称)时是否收到任何错误?
答案 1 :(得分:1)
你传递给GetSharedDefaultFolder的是什么?可以在Outlook的“编辑”框中的Outlook中解析该名称吗?
请记住,GetSharedDefaultFolder接受字符串或RDOAddressEntry对象。在后一种情况下,无需解决任何问题,因此如果您已经拥有RDOAddressEntry对象的实例,则传递它而不是字符串可能更可靠。