Иногда вам может понадобиться подсчитать общее количество электронных писем от определенного отправителя в Outlook. Эта статья познакомит вас с удобным способом быстрого получения общего количества с помощью Outlook VBA.
По некоторым причинам, таким как статистика данных, вам может потребоваться подсчитать общее количество электронных писем от определенного отправителя. Без всяких сомнений, если у вас много писем, ручной подсчет их одного за другим будет довольно хлопотным и подверженным ошибкам. В таком случае, почему бы не вернуться к VBA? Вот подробные операции и соответствующие коды VBA.
Получить общее количество писем от определенного отправителя в определенной папке
- В самом начале сtart Outlook и перейдите на вкладку «Разработчик».
- Затем нажмите кнопку «Visual Basic» на этой вкладке.

- Затем во всплывающем окне «Microsoft Visual Basic для приложений» вы можете открыть модуль, который не используется, а затем скопировать в него следующие коды VBA.
Sub CountEmailsfromSpecificSenderinCurrentFolder()
Dim objSelection As Selection
Dim objSelectedMail As MailItem
Dim strSenderEmailAddress As String
Dim objCurrentFolder As Folder
Dim objItem As Object
Dim objVariant As Variant
Dim i As Long
Dim strPrompt As String
Dim nResponse As Integer
Set objSelection = Outlook.Application.ActiveExplorer.Selection
i = 0
If TypeOf objSelection.Item(1) Is MailItem Then
Set objSelectedMail = objSelection.Item(1)
strSenderEmailAddress = objSelectedMail.SenderEmailAddress
Set objCurrentFolder = Outlook.Application.ActiveExplorer.CurrentFolder
For Each objItem In objCurrentFolder.Items
Set objVariant = objItem
If (objVariant.Class = olMail) And (objVariant.SenderEmailAddress = strSenderEmailAddress) Then
i = i + 1
End If
Next
End If
strPrompt = "There are " & i & " emails from " & objSelectedMail.SenderName & " in the current " & objCurrentFolder.Name & " folder."
nResponse = MsgBox(strPrompt, vbOKOnly + vbInformation, "Count Emails from Specific Sender")
End Sub
- Затем закройте текущее окно, чтобы вернуться на главный экран Outlook.
- После этого вы можете приступить к добавлению нового макроса на панель быстрого доступа.
- Сначала нажмите стрелку вниз на панели быстрого доступа и выберите «Дополнительные команды».
- Затем добавьте макрос на панель быстрого доступа, последовательно выполнив шаги, показанные на следующем рисунке.
- Наконец-то вы можете попробовать эту кнопку.
- Сначала откройте определенную папку и выберите электронное письмо от определенного отправителя.
- Затем нажмите кнопку на панели быстрого доступа.
- Наконец, вы получите сообщение, в котором будет указано количество писем от конкретного отправителя в текущей папке.
Обход всех подпапок рекурсивно
Вышеприведенная часть просто знакомит вас с тем, как получить общее количество всех почтовых отправлений от определенного отправителя в одной почтовой папке. Если у вас есть много подпапок в папке «Входящие» и вы хотите также включить полученные электронные письма в подпапки, вам нужно будет рекурсивно перечислить все эти подпапки. В таком случае вы можете обратиться к другой статье в нашем блоге — «Как рекурсивно перемещаться по дереву папок в Outlook через VBA».
Никогда не доверяйте ненадежному инструменту восстановления Outlook
Из-за того, что Outlook подвержен ошибкам, многие пользователи привыкли хранить Средство исправления ошибок Outlook удобный. Но на сегодняшнем рынке таких ненадежных инструментов слишком много. Поэтому вы должны быть осторожны при выборе одного из них. Как только вы попытаетесь исправить ошибки с помощью ненадежного инструмента, есть большая вероятность, что это приведет к еще худшим ситуациям.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая ремонт проблем с мдф и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com


