Cet article vous apprendra comment utiliser Outlook VBA pour obtenir automatiquement le nombre de participants avant d'envoyer une invitation à une réunion.
Tout comme pour le décompte des destinataires avant l'envoi d'un e-mail, certains utilisateurs souhaitent également compter les participants avant d'envoyer une invitation à une réunion. L'objectif est d'estimer le coût total de la réunion et de décider ensuite s'il convient d'envoyer une invitation. De plus, Outlook permettant de définir les participants comme obligatoires ou facultatifs, certains utilisateurs aimeraient comptabiliser les participants selon différents critères. Idéalement, il faudrait également prendre en compte les ressources et la durée de la réunion. Bien qu'Outlook ne propose pas de fonctionnalité native pour cela, il est possible d'y parvenir grâce au code VBA.

Compter automatiquement les participants avant d'envoyer une invitation à une réunion
- Pour commencer, lancez votre programme Outlook.
- Ensuite, dans la fenêtre principale d'Outlook, appuyez sur les raccourcis clavier "Alt + F11".
- Ensuite, vous entrerez avec succès dans l'éditeur Outlook VBA. Vous devez maintenant rechercher et ouvrir le projet "ThisOutlookSession".
- Ensuite, copiez et collez les codes VBA suivants dans ce projet.
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
- Après cela, vous devez signer ce code.
- Assurez-vous ensuite que votre Outlook autorise les macros signées numériquement.
- Désormais, chaque fois que vous cliquerez sur le bouton "Envoyer" dans les invitations à une réunion, vous recevrez un message indiquant le nombre de participants, les ressources et la durée, comme l'image suivante :
Faire face avec souplesse à la corruption frustrante d'Outlook
Peut-être avez-vous déjà rencontré des problèmes Outlook, tels que le blocage, divers messages d'erreur, etc. Heureusement, Outlook est préinstallé avec un outil de réparation de boîte de réception, appelé as Scanpst, qui est capable de résoudre de petits problèmes. Mais si le problème est grave, vous serez amené à recourir à un outil plus spécialisé, tel que DataNumen Outlook Repair.
Introduction de l'auteur:
Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris mdf corrompu et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com

