Как получить количество электронных писем в Outlook, отсортированных по категории и по дате ответа.

Вопрос или проблема

Я ищу способ сделать две вещи в Outlook/Excel.

  1. Получить количество писем в каждой категории по цвету. (цвет соответствует тому, кто ответил на письмо.)

  2. В каждой категории/персоне я хочу знать, сколько ответов на электронные письма было отправлено в каждый день.

Пример того, что я ищу.

Я не очень хорошо разбираюсь в VBA, но, возможно, я смогу разобраться, если у меня будут пошаговые инструкции.

Спасибо!

Не очень хорошо знаю Excel и VBA. Но с точки зрения клиента Outlook, мы можем получить эту информацию, изменив настройки просмотра.

Вы можете изменить свой вид Outlook на “один” или “предварительный просмотр” и установить сортировку по категориям.
введите описание изображения здесь

И получить количество, как показано ниже.

введите описание изображения здесь

Если необходимо, вы также можете добавить фильтры, чтобы отфильтровать нужные сообщения электронной почты.
введите описание изображения здесь

Я заметил, что при этом сбрасывается ваш вид. После того как я поэкспериментировал с сброшенным видом, я обнаружил, что он зависит от ширины панели входящих сообщений (панели содержимого папки). Судя по всему, количество писем отображается только тогда, когда центральная панель достаточно широка. Я смог сделать так, чтобы количество писем появлялось и исчезало, просто сужая или расширяя центральную панель.

Ответ или решение

Как получить количество электронных писем в Outlook, отсортированных по категории и дате ответа

Для решения вашей задачи по подсчету количества электронных писем в Outlook в зависимости от цветовой категории и по дате ответа, мы рассмотрим несколько шагов, включая использование встроенных возможностей Outlook и применения VBA для автоматизации.

Шаг 1: Настройка представления в Outlook

  1. Откройте Outlook: Запустите приложение и перейдите в папку "Входящие" или в ту папку, где хранятся нужные вам сообщения.

  2. Изменение представления:

    • В верхней панели выберите вкладку "Вид".
    • Нажмите на "Изменить представление", затем выберите "Список".
    • Убедитесь, что у вас включены необходимые столбцы, такие как "Категория" и "Дата ответа". Для этого выберите "Настроить текущий вид" и добавьте нужные столбцы.
  3. Сортировка по категориям:

    • В настройках представления выберите "Сортировка", затем укажите "Категория" в качестве первого параметра сортировки.
    • В случае необходимости также добавьте "Дата ответа" в качестве дополнительного параметра.
  4. Проверка ширины центральной панели: Обратите внимание, что количество писем может отображаться только при достаточной ширине центральной панели. Попробуйте настроить ширину, чтобы видеть все подсказки в представлении.

Шаг 2: Фильтрация писем

Если вам нужно получить определенные сообщения, можно применить фильтры:

  • Выберите "Фильтр" в настройках представления и установите условия, соответствующие вашим требованиям (например, по дате или определенной категории).

Шаг 3: Использование VBA для автоматизации подсчета писем

Так как вы упомянули, что не слишком proficient в VBA, предоставлю пошаговую инструкцию по созданию макроса, который поможет вам автоматизировать процесс.

  1. Открытие редактора VBA:

    • Нажмите Alt + F11, чтобы открыть редактор VBA.
    • В левой части окна выберите "Project1" (или название вашего проекта), затем щелкните правой кнопкой мыши и выберите "Insert" > "Module".
  2. Копирование кода:
    Вставьте следующий код в открывшееся окно модуля:

    Sub CountEmailsByCategoryAndDate()
       Dim Inbox As Folder
       Dim Item As Object
       Dim catCounts As Object
       Dim dateCounts As Object
       Dim responseDate As Date
       Dim category As String
    
       Set Inbox = Application.Session.GetDefaultFolder(olFolderInbox)
       Set catCounts = CreateObject("Scripting.Dictionary")
       Set dateCounts = CreateObject("Scripting.Dictionary")
    
       For Each Item In Inbox.Items
           If TypeOf Item Is MailItem Then
               category = Item.Categories
               responseDate = Item.LastModificationTime 'или Item.ReceivedTime
    
               If Not catCounts.Exists(category) Then
                   catCounts.Add category, 1
               Else
                   catCounts(category) = catCounts(category) + 1
               End If
    
               Dim dateKey As String
               dateKey = Format(responseDate, "yyyy-mm-dd")
    
               If Not dateCounts.Exists(category & "_" & dateKey) Then
                   dateCounts.Add category & "_" & dateKey, 1
               Else
                   dateCounts(category & "_" & dateKey) = dateCounts(category & "_" & dateKey) + 1
               End If
           End If
       Next Item
    
       ' Создание нового рабочего листа в Excel
       Dim xlApp As Object
       Set xlApp = CreateObject("Excel.Application")
       xlApp.Visible = True
       Dim wb As Object
       Set wb = xlApp.Workbooks.Add
       Dim ws As Object
       Set ws = wb.Sheets(1)
    
       ' Запись данных в Excel
       Dim r As Integer
       r = 1
       ws.Cells(r, 1).Value = "Категория"
       ws.Cells(r, 2).Value = "Количество"
       r = r + 1
    
       Dim key As Variant
       For Each key In catCounts.Keys
           ws.Cells(r, 1).Value = key
           ws.Cells(r, 2).Value = catCounts(key)
           r = r + 1
       Next key
    
       ws.Cells(r, 1).Value = "Категория_Дата"
       ws.Cells(r, 2).Value = "Количество"
       r = r + 1
    
       For Each key In dateCounts.Keys
           ws.Cells(r, 1).Value = key
           ws.Cells(r, 2).Value = dateCounts(key)
           r = r + 1
       Next key
    End Sub
  3. Запуск макроса: Вернитесь в Outlook, нажмите Alt + F8, выберите созданный макрос CountEmailsByCategoryAndDate и нажмите "Запустить".

Итог

Следуя этим шагам, вы сможете получить нужную информацию о количестве писем, отсортированных по категориям, а также получение информации по датам ответов. Не стесняйтесь адаптировать данные шаги и скрипты под свои конкретные требования. Удачи в вашей работе с Outlook и Excel!

Оцените материал
Добавить комментарий

Капча загружается...