Come esportare rapidamente le statistiche di voto da un'e-mail di Outlook a un foglio di lavoro di Excel

Condividi ora:

Se hai inviato un'email con dei pulsanti di voto, dopo che i destinatari ti hanno risposto, potresti voler contare i voti ed esportare le statistiche in un foglio di calcolo Excel. In questo articolo ti spiegheremo come farlo rapidamente.

Outlook è così potente che offre persino una funzione di "votazione". Il mio precedente articolo “Uso abile di MS Outlook per il voto" ha insegnato come utilizzarlo efficacemente. Inoltre, il più delle volte, dopo aver votato, potresti voler esportare le statistiche di voto in un foglio di calcolo Excel per diversi motivi, ad esempio per stamparle. Ma Outlook non supporta questa funzione per impostazione predefinita. Pertanto, di seguito ti insegneremo come fare in modo che sia così semplice.

Esporta rapidamente le statistiche di voto da un'e-mail di Outlook a un foglio di lavoro Excel

Esporta le statistiche di voto in un'e-mail in un foglio di lavoro Excel

  1. All'inizio, avvia la tua applicazione Outlook.
  2. Quindi dovresti premere i pulsanti "Alt + F11" nella finestra principale di Outlook.
  3. Successivamente, nella finestra "Microsoft Visual Basic for Applications", è necessario abilitare "Microsoft Excel Object Library". Fare clic su "Strumenti" > "Riferimenti". Quindi, nella finestra di dialogo visualizzata, selezionare la casella di controllo accanto a "Microsoft Excel Object Library" e infine fare clic su "OK".
  4. Successivamente, puoi inserire un nuovo modulo o aprirne uno non in uso.
  5. Successivamente, copia e incolla i seguenti codici VBA in questo modulo.
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

Codice VBA: esporta le statistiche di voto da un'e-mail di Outlook a un foglio di lavoro Excel

  1. Successivamente, per un comodo accesso, è meglio aggiungere la nuova macro alla barra degli strumenti di accesso rapido.
  2. Alla fine, puoi provare.
  • Innanzitutto, seleziona un'e-mail di origine che contenga i pulsanti di voto.
  • Quindi fare clic sul pulsante macro nella barra di accesso rapido.
  • Al termine dell'esecuzione di questa macro, è possibile passare alla cartella locale predefinita, in cui verrà visualizzata una nuova cartella di lavoro di Excel.
  • Apri questa cartella di lavoro di Excel. Ora vedrai le statistiche di voto, mostrate come l'immagine qui sotto:Statistiche di voto esportate

Nessuno può evitare completamente gli errori di Outlook

Sebbene Outlook sia dotato di una varietà di funzionalità, non esiste una funzionalità di questo tipo per aiutarci a evitare errori di Outlook. Tutti i tipi di fattori possono causare errori di Outlook. Ad esempio, se esci spesso da Outlook in modo improprio, è probabile che tu ne risenta Corruzione PST. In uno scenario del genere, non hai altra scelta che utilizzare alcuni potenti strumenti per salvare il tuo file PST, come DataNumen Outlook Repair. Ha guadagnato molti complimenti grazie al suo alto tasso di recupero.

Introduzione dell'autore:

Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui mdf corrotto e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com

Condividi ora:

I commenti sono chiusi.