Если вы хотите получить количество встреч, связанных с конкретным контактом, вы можете использовать любой из двух способов, представленных в этой статье.
Outlook позволяет пользователям связывать встречи с контактами. Если вы связали много встреч с конкретным контактом и позже хотите подсчитать их, вы должны отказаться от подсчета их по одной. Поэтому в дальнейшем мы представим вам 2 способа. Вы можете выбрать эфир по своему вкусу.
Способ 1: Подсчитайте в контакте «Действия»
- Сначала дважды щелкните конкретный контакт, чтобы открыть его в отдельном окне.
- Затем нажмите «Действия» в группе «Показать».
- Далее на новой странице подведите курсор к заголовку списка действий.
- Затем щелкните правой кнопкой мыши и выберите «Настройки просмотра» в контекстном меню.
- После этого во всплывающем диалоговом окне нажмите кнопку «Группировать по».
- Позже, в другом диалоговом окне, выберите «Класс сообщения» в раскрывающемся списке «Группировать элементы по».
- Наконец, нажмите серию «ОК», чтобы применить настройки просмотра.
- Когда вы вернетесь к списку, вы увидите группу под названием «IPM.Appointment» с общим количеством всех встреч, связанных с текущим макросом, как показано на следующем снимке экрана.
Способ 2: подсчет с помощью Outlook VBA
- Для начала войдите в редактор Outlook VBA через «Alt + F11».
- Затем скопируйте следующий код VBA в модуль.
Dim objContact As ContactItem
Sub CountAppointmentsLinkedToContact()
Dim objStore As Store
Dim objOutlookFile As Folder
Dim lTotalCount As Long
'Get the contact
Set objContact = Outlook.Application.ActiveExplorer.Selection.Item(1)
lTotalCount = 0
For Each objStore In Application.Session.Stores
Set objOutlookFile = objStore.GetRootFolder
Call ProcessFolders(objOutlookFile.Folders, lTotalCount)
Next
'Prompt you
If lTotalCount > 0 Then
MsgBox lTotalCount & " appointments are linked to " & objContact.FullName & ".", vbInformation + vbOKOnly
Else
MsgBox "No appointment is linked to " & objContact.FullName & ".", vbExclamation + vbOKOnly
End If
End Sub
Sub ProcessFolders(ByVal objFolders As Folders, lCount As Long)
Dim objFolder As Folder
Dim objItem As Object
'Process all folders recursively
For Each objFolder In objFolders
For Each objItem In objFolder.Items
If TypeOf objItem Is AppointmentItem Then
If objItem.Links.Count > 0 Then
i = 0
Do Until i = objItem.Links.Count
i = i + 1
If objItem.Links(i).Name = objContact.FullName Then
lCount = lCount + 1
Exit Do
End If
Loop
End If
End If
Next
If objFolder.Folders.Count > 0 Then
Call ProcessFolders(objFolder.Folders, lCount)
End If
Next
End Sub
- Позже добавьте этот макрос на панель быстрого доступа (QAT), выполнив действия, описанные в разделе «Как запустить код VBA в Outlook».
- Наконец-то можно попробовать.
- Прежде всего, выберите контакт.
- Затем нажмите кнопку макроса в QAT.
- Когда макрос завершится, вы получите сообщение о количестве встреч, связанных с выбранным контактом, как на картинке ниже.
При возникновении частых проблем с Outlook
Предполагая, что вы всегда сталкиваетесь с различными проблемами в своем Outlook, вы должны повысить свою бдительность. Весьма вероятно, что ваш файл Outlook PST имеет тенденцию быть поврежденным. На этом этапе вы сразу сделаете обновленную резервную копию файла данных Outlook. Также по возможности рекомендуется заиметь мощный ремонт PST инструмент, такой как DataNumen Outlook Repair.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановить sql и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com





