Tento článok vás naučí, ako využiť Outlook VBA na automatické získanie počtu účastníkov pred odoslaním pozvánky na schôdzku.
Podobne ako pri spočítaní príjemcov pred odoslaním e-mailu, niektorí používatelia chcú spočítať účastníkov aj pred odoslaním pozvánky na stretnutie. Ako obvykle, cieľom je odhadnúť celkové náklady na navrhované stretnutie a potom rozhodnúť, či sa účastníkom pozvánka na stretnutie odošle. Navyše, keďže Outlook umožňuje používateľom nastaviť účastníkov ako povinných alebo voliteľných, niektorí by chceli spočítať účastníkov v rôznych typoch. A nemohlo by byť lepšie, keby bolo možné zahrnúť zdroje a trvanie stretnutia. Hoci Outlook nemá takúto priamu funkciu, stále môžete na jej realizáciu použiť kód VBA.

Automaticky spočítať účastníkov pred odoslaním pozvánky na schôdzku
- Najprv spustite program Outlook.
- Potom v hlavnom okne programu Outlook stlačte klávesové skratky „Alt + F11“.
- Ďalej úspešne vstúpite do editora Outlook VBA. Teraz musíte nájsť a otvoriť projekt „ThisOutlookSession“.
- Následne skopírujte a prilepte nasledujúce kódy VBA do tohto projektu.
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
- Potom musíte tento kód podpísať.
- Neskôr sa uistite, či váš Outlook umožňuje digitálne podpísané makrá.
- Odteraz vždy, keď kliknete na tlačidlo „Odoslať“ v pozvánkach na schôdzku, zobrazí sa správa s počtom účastníkov, prostriedkami a trvaním, ako napríklad nasledujúci obrázok:
Vyrovnajte sa s frustrujúcou korupciou v programe Outlook flexibilne
Možno ste sa už niekedy stretli s problémami s programom Outlook, ako napríklad so zamrznutím, rôznymi chybovými hláseniami a podobne. Našťastie je v Outlooku predinštalovaný nástroj na opravu doručenej pošty, ktorý sa volá ako Scanpst, ktorý je schopný riešiť drobné problémy. Ak je však problém vážny, bude sa od vás vyžadovať, aby ste sa obrátili na špecializovanejší nástroj, ako je napr DataNumen Outlook Repair.
Úvod autora:
Shirley Zhang je expertkou na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane skorumpovaný mdf a výhľadové softvérové produkty na opravu. Pre viac informácií navštívte www.datanumen. S

