delphi – 在Outlook中取消删除联系人
发布时间:2020-12-15 04:11:55 所属栏目:大数据 来源:网络整理
导读:我有一个用Delphi编写的应用程序,用于在outlook中添加/更新联系人.我遇到的问题是,如果在Outlook中删除了联系人,代码仍会找到联系人并对其进行更新 – 并且联系人仍然会被删除.有没有办法可以确定联系人是否被删除或取消删除联系人? 大致代码看起来像: Out
我有一个用Delphi编写的应用程序,用于在outlook中添加/更新联系人.我遇到的问题是,如果在Outlook中删除了联系人,代码仍会找到联系人并对其进行更新 – 并且联系人仍然会被删除.有没有办法可以确定联系人是否被删除或取消删除联系人?
大致代码看起来像: OutlookApp := CreateOleObject('Outlook.Application'); Mapi := OutlookApp.GetNameSpace('MAPI'); //..... try if ContactOutlookEntryID.AsString <> '' then aContact := Mapi.GetItemFromID(ContactOutlookEntryID.AsString); except end; //try to locate the contact if they have been synchro'd before if VarIsEmpty(aContact) then //if not found aContact := Contacts.Items.Add(2); //add a new contact to outlook aContact.LastName := ContactSurname.AsString; //..... 解决方法
删除联系人后,它们将被放入“已删除邮件”文件夹中.除了在该文件夹中之外,没有其他“已删除”状态. “Undeleting”就像把它移回去一样简单.
在ContactItem对象上有一个Move方法,您可以使用它将其移回到您可以使用NameSpace.GetDefaultFolder方法获得的默认联系人文件夹. 编辑要确定联系人是否在已删除邮件文件夹中,您可以查看应返回MAPIFolder对象的Parent属性.然后,您可以将其EntryID与GetDefaultFolder(olFolderDeletedItems)返回的EntryID进行比较. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |