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

Экспорт статистики голосования в электронном письме на лист Excel
- В самом начале запустите приложение Outlook.
- Затем вам нужно нажать клавиши «Alt + F11» в главном окне Outlook.
- Далее в окне «Microsoft Visual Basic for Applications» необходимо включить «Библиотека объектов Microsoft Excel». Щелкните «Инструменты» > «Ссылки». Затем в появившемся диалоговом окне установите флажок напротив «Библиотека объектов Microsoft Excel» и, наконец, нажмите «ОК».
- После этого вы можете вставить новый модуль или открыть неиспользуемый.
- Затем скопируйте и вставьте в этот модуль следующие коды 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
- После этого для удобства доступа лучше добавить новый макрос на панель быстрого доступа.
- В конце концов, вы можете попробовать.
- Во-первых, выберите исходное электронное письмо, содержащее кнопки для голосования.
- Затем нажмите кнопку макроса на панели быстрого доступа.
- После завершения работы этого макроса вы можете перейти к предопределенной локальной папке, в которой вы увидите новую книгу Excel.
- Откройте эту книгу Excel. Теперь вы увидите статистику голосования, показанную на изображении ниже:
Никто не может полностью предотвратить ошибки Outlook
Хотя Outlook обладает множеством возможностей, в нем нет такой функции, которая помогла бы нам избежать ошибок Outlook. Все виды факторов могут вызвать ошибки Outlook. Например, если вы часто неправильно выходите из Outlook, вы, вероятно, будете страдать PST-повреждение. В таком сценарии у вас нет другого выбора, кроме как использовать некоторые мощные инструменты для спасения вашего файла PST, например DataNumen Outlook Repair. Он заработал много славы из-за его высокой скорости восстановления.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая коррумпированный мдф и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

