Как быстро экспортировать статистику голосования из электронной почты Outlook на лист Excel

Поделись сейчас:

Если вы отправили электронное письмо с кнопками для голосования, и после получения ответов от получателей, вам может потребоваться подсчитать и экспортировать статистику голосования в электронную таблицу Excel. В этой статье мы расскажем, как это сделать быстро.

Outlook настолько мощен, что даже предлагает функцию «Голосование». Моя предыдущая статья «Умелое использование MS Outlook для голосования«Научили, как эффективно его использовать. Кроме того, в большинстве случаев после голосования вы можете экспортировать статистику голосования в электронную таблицу Excel по разным причинам, например, чтобы распечатать статистику. Но Outlook по умолчанию не поддерживает это. Поэтому далее мы научим вас, как это сделать очень просто.»

Быстрый экспорт статистики голосования из электронной почты Outlook на лист Excel

Экспорт статистики голосования в электронном письме на лист Excel

  1. В самом начале запустите приложение Outlook.
  2. Затем вам нужно нажать клавиши «Alt + F11» в главном окне Outlook.
  3. Далее в окне «Microsoft Visual Basic for Applications» необходимо включить «Библиотека объектов Microsoft Excel». Щелкните «Инструменты» > «Ссылки». Затем в появившемся диалоговом окне установите флажок напротив «Библиотека объектов Microsoft Excel» и, наконец, нажмите «ОК».
  4. После этого вы можете вставить новый модуль или открыть неиспользуемый.
  5. Затем скопируйте и вставьте в этот модуль следующие коды VBA.
Sub ExportVotingStatistics _Excel ()
    Dim objMail As Outlook.MailItem
    Dim objRecipient As Outlook.recipient
    Dim objVoteDictionary As Object
    Dim varVotingCounts As Variant
    Dim varVotingOptions As Variant
    Dim varVotingOption As Variant
    Dim i As Long
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorksheet As Excel.Worksheet
    Dim nRow As Integer
 
    Set objMail = Application.ActiveExplorer.Selection(1)
 
    'Create a new excel worksheet
    Set objExcelApp = CreateObject("Excel.Application")
    Set objExcelWorkbook = objExcelApp.Workbooks.Add
    Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
 
    'Fill in the predefined values
    With objExcelWorksheet
         .Cells.Font.Name = "Cambria"
         .Cells(1, 1) = "Voting Results for Email:"
         .Cells(1, 2) = Chr(34) & objMail.Subject & Chr(34)
         .Cells(3, 1) = "Voting Options"
         .Cells(3, 2) = "Voting Counts"
    End With
 
    Set objVoteDictionary = CreateObject("Scripting.Dictionary")
    'get the default voting options
    varVotingOptions = Split(objMail.VotingOptions, ";")
    'Add the voting responses to the dictionary
    For Each varVotingOption In varVotingOptions
        objVoteDictionary.Add varVotingOption, 0
    Next
    'Add a custom voting response - "No Reply"
    objVoteDictionary.Add "No Reply", 0
 
    'Process the all voting responses
    For Each objRecipient In objMail.Recipients
        If objRecipient.TrackingStatus = olTrackingReplied Then
           If objVoteDictionary.Exists(objRecipient.AutoResponse) Then
              objVoteDictionary.Item(objRecipient.AutoResponse) = objVoteDictionary.Item(objRecipient.AutoResponse) + 1
           Else
              objVoteDictionary.Add objRecipient.AutoResponse, 1
           End If
        Else
           objVoteDictionary.Item("No Reply") = objVoteDictionary.Item("No Reply") + 1
        End If
    Next
 
    'Get the voting options and vote counts
    varVotingOptions = objVoteDictionary.Keys
    varVotingCounts = objVoteDictionary.Items
 
    'Fill in the values in specific cells
    nRow = 4
    For i = LBound(varVotingOptions) To UBound(varVotingOptions)
        With objExcelWorksheet
             .Cells(nRow, 1) = varVotingOptions(i)
             .Cells(nRow, 2) = varVotingCounts(i)
        End With
        nRow = nRow + 1
    Next
 
    'Save the new Excel file
    objExcelWorksheet.Columns("A:B").AutoFit
    strExcelFile = "E:\Voting Results " & Format(Now, "YYYY-MM-DD hh-mm-ss") & ".xlsx"
    objExcelWorkbook.Close True, strExcelFile

    MsgBox "Complete!", vbExclamation
End Sub

Код VBA - экспорт статистики голосования из электронной почты Outlook на лист Excel

  1. После этого для удобства доступа лучше добавить новый макрос на панель быстрого доступа.
  2. В конце концов, вы можете попробовать.
  • Во-первых, выберите исходное электронное письмо, содержащее кнопки для голосования.
  • Затем нажмите кнопку макроса на панели быстрого доступа.
  • После завершения работы этого макроса вы можете перейти к предопределенной локальной папке, в которой вы увидите новую книгу Excel.
  • Откройте эту книгу Excel. Теперь вы увидите статистику голосования, показанную на изображении ниже:Экспорт статистики голосования

Никто не может полностью предотвратить ошибки Outlook

Хотя Outlook обладает множеством возможностей, в нем нет такой функции, которая помогла бы нам избежать ошибок Outlook. Все виды факторов могут вызвать ошибки Outlook. Например, если вы часто неправильно выходите из Outlook, вы, вероятно, будете страдать PST-повреждение. В таком сценарии у вас нет другого выбора, кроме как использовать некоторые мощные инструменты для спасения вашего файла PST, например DataNumen Outlook Repair. Он заработал много славы из-за его высокой скорости восстановления.

Об авторе:

Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая коррумпированный мдф и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.