如何确定是否显示Outlook中的ContactItem(正确配置)

时间:2013-11-29 10:12:42

标签: vba outlook outlook-vba

如果用户在检查员中打开了联系人,那么我想保存并Set itm = Nothing但不要关闭联系人。如果联系人没有打开,那么我想保存并处理。

Dim mfFolder As MAPIFolder
Set mfFolder = GetContactsFolder 'function to get folder

Dim itm As ContactItem
Set itm = mfFolder.Items.Find("[Account] = " & Chr(34) & AcctNum & Chr(34))
'or...
Set itm = ActiveInspector.CurrentItem
'or...
Set itm = ActiveExplorer.Selection.Item(1)

如果项目在检查员中没有打开,则会关闭该项目:

Call itm.Close(olSave)
Set itm = Nothing

或者如果项目在检查器窗口中打开,那么我想保存而不关闭:

Call itm.Save
Set itm = Nothing

所以,一旦我有了这个项目,我如何确定它是否在检查员窗口中打开,以便我可以正确处理它?

1 个答案:

答案 0 :(得分:0)

首先,您可以简单地调用ContactItem.Save来代替调用Close(olSave),这样可以保存项目,而无需关闭它。

其次,您可以比较代码引用的项目和Inspector.CurrentItem返回的项目的EntryID属性的值。