如果您想计算每个类别中有多少个联系人,您可以使用本文介绍的 2 种方法。 一种是使用即时搜索,另一种是使用 VBA。
就像使用颜色类别来管理 Outlook 电子邮件一样,您也可以通过类别对联系人进行分类。 如果您对联系人进行了颜色分类,现在您希望获得每个不同类别的联系人总数,您可以使用以下 2 种方法来实现它。

方法 1:使用即时搜索
- 首先,启动您的 Outlook。
- 然后打开您的联系人文件夹。
- 接下来单击搜索框以激活“搜索工具”功能区。
- 随后,单击“分类”按钮。
- 从其下拉列表中,您可以选择一个或多个颜色类别。 这里我们以“紫色类”为例。
- 选择具体类别后,您会看到搜索框中填写了相关的搜索条件。
- 现在在状态栏的左下角,你可以查看所选类别中的联系人总数,如下图:
通过这种方式,您必须将每个类别中的联系人一一统计。 会很麻烦。 因此,如果您想一次性获得每个颜色类别的联系人总数,您可以重复下一个技巧。
方法 2:使用 Outlook VBA
- 首先,在 Outlook 中按“Alt + F11”快捷键。
- 然后您将可以访问 Outlook VBA 编辑器窗口。
- 接下来您需要打开一个新模块或一个未使用的模块。
- 随后,将以下 VBA 代码复制并粘贴到此类模块中。
Sub CountContactsinEachCategory()
Dim objDictionary As Object
Dim objContactsFolder As Outlook.Folder
Dim objContacts As Outlook.Items
Dim objContact As Object
Dim strCategory As String
Dim strPrompt As String
Dim nMessage As Integer
Set objDictionary = CreateObject("Scripting.Dictionary")
Set objContactsFolder = Outlook.Application.Session.GetDefaultFolder(olFolderContacts)
'You can count the contacts in selected Contact folder by....
'Set objContactsFolder = Outlook.Application.ActiveExplorer.CurrentFolder
Set objContacts = objContactsFolder.Items
For Each objContact In objContacts
strCategory = objContact.Categories
objDictionary(strCategory) = CLng(objDictionary(strCategory)) + 1
Next objContact
For Each Key In objDictionary.Keys
strPrompt = strPrompt & Key & ": " & objDictionary(Key) & vbCrLf
Next
nMessage = MsgBox(strPrompt, vbInformation, "Count Contacts by Color Category")
End Sub
- 之后,确保您的 Outlook 允许宏。
- 稍后,您可以单击工具栏中的“运行”图标。
- 最后,您将收到一条消息,显示每个颜色类别中的联系人数量,如下图所示:
拯救您的 Outlook 数据
当您遇到可以正常访问您的 PST 文件的情况时,很可能是该文件已损坏。 此时,为了找回 损坏的 PST 数据,您别无选择,只能求助于功能强大的修复工具,例如 DataNumen Outlook Repair.
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 中密度纤维板修复 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com



