Este artigo ensinará como utilizar o Outlook VBA para obter automaticamente uma contagem de participantes antes de enviar um convite de reunião.
Assim como alguns usuários contam os destinatários antes de enviar um e-mail, outros também desejam contar os participantes antes de enviar um convite para uma reunião. O objetivo é estimar o custo total da reunião proposta e, então, decidir se o convite deve ser enviado aos participantes. Além disso, como o Outlook permite que os usuários definam os participantes como obrigatórios ou opcionais, alguns gostariam de contar os participantes em diferentes categorias. E seria ainda melhor se os recursos e a duração da reunião pudessem ser incluídos. Embora o Outlook não tenha um recurso nativo para isso, ainda é possível usar código VBA para implementar essa funcionalidade.

Contagem automática dos participantes antes de enviar um convite de reunião
- Para começar, abra o programa Outlook.
- Em seguida, na janela principal do Outlook, pressione os atalhos de teclado “Alt + F11”.
- Em seguida, você entrará no editor VBA do Outlook com sucesso. Agora você precisa encontrar e abrir o projeto “ThisOutlookSession”.
- Posteriormente, copie e cole os seguintes códigos VBA neste projeto.
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
- Depois disso, você precisa assinar este código.
- Mais tarde, certifique-se de que seu Outlook permite as macros assinadas digitalmente.
- A partir de agora, toda vez que você clicar no botão “Enviar” nos convites de reunião, receberá uma mensagem mostrando a contagem de participantes, recursos e duração, conforme a imagem a seguir:
Lide com a Frustrante Corrupção do Outlook com Flexibilidade
Talvez você já tenha encontrado problemas do Outlook antes, como congelamento, várias mensagens de erro e assim por diante. Felizmente, o Outlook vem pré-instalado com uma ferramenta de reparo da caixa de entrada, chamada ScanpstName, que é capaz de resolver pequenos problemas. Mas se o problema for grave, será necessário recorrer a uma ferramenta mais especializada, como DataNumen Outlook Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo mdf corrompido e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

