Ovaj članak će vas naučiti kako da koristite Outlook VBA da automatski dobijete broj učesnika pre nego što pošaljete pozivnicu za sastanak.
Slično kao i kod brojanja primalaca prije slanja e-pošte, neki korisnici također žele prebrojati učesnike prije slanja pozivnice za sastanak. Kao i obično, cilj ovoga je procijeniti ukupne troškove predloženog sastanka, a zatim odlučiti hoće li se poslati pozivnica za sastanak učesnicima. Štaviše, budući da Outlook dozvoljava korisnicima da postave učesnike kao obavezne ili opcionalne, neki bi željeli prebrojati učesnike u različitim vrstama. I ne bi bilo bolje kada bi se mogli uključiti resursi i trajanje sastanka. Iako Outlook nema takvu direktnu funkciju, i dalje možete koristiti VBA kod da to ostvarite.

Automatsko prebrojavanje učesnika prije slanja pozivnice za sastanak
- Za početak, pokrenite Outlook program.
- Zatim u glavnom prozoru programa Outlook pritisnite tipke “Alt + F11”.
- Zatim ćete uspješno ući u Outlook VBA editor. Sada trebate pronaći i otvoriti “ThisOutlookSession” projekat.
- Nakon toga, kopirajte i zalijepite sljedeće VBA kodove u ovaj projekat.
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
- Nakon toga, morate potpisati ovaj kod.
- Kasnije se uvjerite da vaš Outlook dozvoljava digitalno potpisane makroe.
- Od sada, svaki put kada kliknete na dugme „Pošalji“ u pozivnicama za sastanke, dobićete poruku koja prikazuje broj učesnika, resurse i trajanje, kao na sljedećoj slici:
Fleksibilno se nosite sa frustrirajućom korupcijom u Outlooku
Možda ste se ikada ranije susreli s problemima s Outlookom, kao što su zamrzavanje, razne poruke o grešci i tako dalje. Srećom, Outlook dolazi unapred instaliran sa alatom za popravku prijemnog sandučeta, koji se zove as scanpst, koji je sposoban da riješi male probleme. Ali ako je problem ozbiljan, od vas će se tražiti da se vratite na specijalizovaniji alat, kao što je DataNumen Outlook Repair.
Uvod za autora:
Shirley Zhang je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući corrupt mdf i Outlook softverski proizvodi za popravku. Za više informacija posjetite www.datanumen.com

