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.

Conteggio automatico dei partecipanti prima di inviare un invito alla riunione
- Per iniziare, avvia il programma Outlook.
- Quindi, nella finestra principale di Outlook, premi le scorciatoie da tastiera "Alt + F11".
- Successivamente entrerai correttamente nell'editor VBA di Outlook. Ora devi trovare e aprire il progetto "ThisOutlookSession".
- 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
- Successivamente, devi firmare questo codice.
- Successivamente assicurati che Outlook consenta le macro firmate digitalmente.
- 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:
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

