GetSharedDefaultFolder()抛出错误 - 兑换
我在Windows应用程序中使用了兑换。在那里,我写了这个代码GetSharedDefaultFolder()抛出错误 - 兑换
try
{
rFolder = rSession.GetSharedDefaultFolder(memberName, rdoDefaultFolders.olFolderCalendar);
rItems = rFolder.Items;
}
但执行包括Session.GetSharedDefaultFolder()
线的时候,它会抛出以下异常。
“错误IAddrBook.ResolveName:MAPI_E_NOT_FOUND”
我在网上搜索了这个问题,但我没能得到的东西直线前进。请指教我。
你将什么传递给GetSharedDefaultFolder?在Outlook中的“编辑”框中Outlook中是否可以解析该名称?
请记住,GetSharedDefaultFolder接受一个字符串或一个RDOAddressEntry对象。在后一种情况下,没有什么可以解决的,所以如果你已经有一个RDOAddressEntry对象的实例,那么传递它来代替一个字符串可能更可靠。
http:// stackoverflow。 COM /文档/ Outlook的插件/提交 –
为什么你需要使用赎回?
相反,我建议使用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类(已解析)的实例传递给方法,而不仅仅是成员名称。
运行上面列出的代码(当然,使用有效名称)时是否出现错误?
http://stackoverflow.com/documentation/outlook-addin/commit –
这可能是微软的错误,就像在这种情况下一样,安装相关的更新修复了这个问题:https://support.microsoft.com/en-us/kb/2645789 – Nick
哦。真??我会考虑这一点。感谢您使用我的建议 –
,rFolder = rSession.GetDefaultFolder(rdoDefaultFolders.olFolderCalendar);并解决了目前的问题。但我真的需要运行GetSharedDefaultFolder() –