Come contare automaticamente i partecipanti prima di inviare un invito a una riunione in Outlook

Condividi ora:

Questo articolo ti insegnerà come utilizzare Outlook VBA per ottenere automaticamente un conteggio dei partecipanti prima di inviare un invito alla riunione. 

Analogamente a quanto avviene per il conteggio dei destinatari prima dell'invio di un'e-mail, alcuni utenti desiderano contare anche i partecipanti prima di inviare un invito a una riunione. Come di consueto, l'obiettivo è stimare il costo totale della riunione proposta e decidere se inviare o meno l'invito. Inoltre, poiché Outlook consente di impostare i partecipanti come obbligatori o facoltativi, alcuni utenti vorrebbero poter contare i partecipanti in base a diverse tipologie. Sarebbe inoltre ideale poter includere anche le risorse e la durata della riunione. Sebbene Outlook non disponga di una funzionalità specifica per questo scopo, è comunque possibile utilizzare del codice VBA.

Conta automaticamente i partecipanti prima di inviare un invito alla riunione in Outlook

Conteggio automatico dei partecipanti prima di inviare un invito alla riunione

  1. Per iniziare, avvia il programma Outlook.
  2. Quindi, nella finestra principale di Outlook, premi le scorciatoie da tastiera "Alt + F11".
  3. Successivamente entrerai correttamente nell'editor VBA di Outlook. Ora devi trovare e aprire il progetto "ThisOutlookSession".
  4. Successivamente, copia e incolla i seguenti codici VBA in questo progetto.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim objMeetingInvitation As Outlook.MeetingItem
    Dim objMeeting As Outlook.AppointmentItem
    Dim objAttendees As Outlook.Recipients
    Dim objAttendee As Outlook.recipient
    Dim lRequiredAttendeeCount, lOptionalAttendeeCount, lResourceCount As Long
    Dim strMsg As String
    Dim nPrompt As Integer
 
    If TypeOf Item Is MeetingItem Then
       Set objMeetingInvitation = Item
       Set objMeeting = objMeetingInvitation.GetAssociatedAppointment(True)
       Set objAttendees = objMeetingInvitation.Recipients
    End If
 
    lRequiredAttendeeCount = 0
    lOptionalAttendeeCount = 0
    lResourceCount = 0
 
    'Count the required & optional attendees and resources, etc.
    For Each objAttendee In objAttendees
         If objAttendee.Type = olRequired Then
            lRequiredAttendeeCount = lRequiredAttendeeCount + 1
         ElseIf objAttendee.Type = olOptional Then
            lOptionalAttendeeCount = lOptionalAttendeeCount + 1
         ElseIf objAttendee.Type = olResource Then
            lResourceCount = lResourceCount + 1
         End If
    Next
 
    'Double check the meeting invitation details
    strMsg = "Meeting Details:" & vbCrLf & vbCrLf & _
     "Required Attendees: " & lRequiredAttendeeCount & vbCrLf & _
     "Optional Attendees: " & lOptionalAttendeeCount & vbCrLf & _
     "Resources: " & lResourceCount & vbCrLf & _
     "Duration: " & GetDuration(objMeeting) & vbCrLf & vbCrLf & _
     "Are you sure to send this meeting invitation?"
 
    nPrompt = MsgBox(strMsg, vbExclamation + vbYesNo, "Double Check Meeting Invitation")
 
    If nPrompt = vbYes Then
       Cancel = False
    Else
       Cancel = True
    End If
End Sub

Function GetDuration(objCurMeeting As AppointmentItem) As String
    'Convert minute to hour
    If objCurMeeting.Duration > 60 Then
       GetDuration = Round(objCurMeeting.Duration / 60, 1) & " hours"
    ElseIf objCurMeeting.Duration = 60 Then
       GetDuration = Round(objCurMeeting.Duration / 60, 1) & " hour"
    ElseIf objCurMeeting.Duration < 60 Then
       GetDuration = objCurMeeting.Duration & " mins"
    End If
End Function

Codice VBA: conta automaticamente i partecipanti prima di inviare un invito alla riunione

  1. Successivamente, devi firmare questo codice.
  2. Successivamente assicurati che Outlook consenta le macro firmate digitalmente.
  3. D'ora in poi, ogni volta che fai clic sul pulsante "Invia" negli inviti alle riunioni, riceverai un messaggio che mostra il conteggio dei partecipanti, le risorse e la durata, come nell'immagine seguente:Messaggio che mostra il conteggio dei partecipanti

Affrontare la frustrante corruzione di Outlook in modo flessibile

Forse hai mai riscontrato problemi di Outlook prima, come il blocco, vari messaggi di errore e così via. Fortunatamente, Outlook viene preinstallato con uno strumento di riparazione della posta in arrivo, chiamato as Scansione, che è in grado di risolvere piccoli problemi. Ma se il problema è serio, ti verrà richiesto di ricorrere a uno strumento più specializzato, come ad esempio DataNumen Outlook Repair.

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.