GetSharedDefaultFolder() 抛出错误 MAPI_E_NOT_FOUND - 赎回
GetSharedDefaultFolder() throws error MAPI_E_NOT_FOUND - redemption
我在 windows 申请中使用兑换。我在那里写了这段代码
try
{
rFolder = rSession.GetSharedDefaultFolder(memberName, rdoDefaultFolders.olFolderCalendar);
rItems = rFolder.Items;
}
但是当它执行包含Session.GetSharedDefaultFolder()
的行时,它会抛出以下异常。
"Error in IAddrBook.ResolveName: MAPI_E_NOT_FOUND"
我在网上搜索了这个问题,但无法直接找到答案。请给我建议。
为什么需要使用兑换?
相反,我建议改用命名空间 class 的 GetSharedDefaultFolder 方法。它 returns 一个 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 class(已解析)的实例传递给该方法,而不仅仅是成员名称。
当运行上面列出的代码(当然,使用有效的名称)时,你会得到任何错误吗?
您将什么传递给 GetSharedDefaultFolder?可以在 Outlook 的编辑框中解析该名称吗?
请记住,GetSharedDefaultFolder 接受字符串或 RDOAddressEntry 对象。在后一种情况下,没有什么需要解决的,所以如果您已经有一个 RDOAddressEntry 对象的实例,传递它而不是字符串可能更可靠。
我在 windows 申请中使用兑换。我在那里写了这段代码
try
{
rFolder = rSession.GetSharedDefaultFolder(memberName, rdoDefaultFolders.olFolderCalendar);
rItems = rFolder.Items;
}
但是当它执行包含Session.GetSharedDefaultFolder()
的行时,它会抛出以下异常。
"Error in IAddrBook.ResolveName: MAPI_E_NOT_FOUND"
我在网上搜索了这个问题,但无法直接找到答案。请给我建议。
为什么需要使用兑换?
相反,我建议改用命名空间 class 的 GetSharedDefaultFolder 方法。它 returns 一个 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 class(已解析)的实例传递给该方法,而不仅仅是成员名称。
当运行上面列出的代码(当然,使用有效的名称)时,你会得到任何错误吗?
您将什么传递给 GetSharedDefaultFolder?可以在 Outlook 的编辑框中解析该名称吗?
请记住,GetSharedDefaultFolder 接受字符串或 RDOAddressEntry 对象。在后一种情况下,没有什么需要解决的,所以如果您已经有一个 RDOAddressEntry 对象的实例,传递它而不是字符串可能更可靠。