Tämä artikkeli opettaa sinulle, kuinka voit käyttää Outlook VBA: ta osallistujien määrän saamiseksi automaattisesti ennen kokouskutsujen lähettämistä.
Samoin kuin vastaanottajien laskeminen ennen sähköpostin lähettämistä, jotkut käyttäjät haluavat laskea myös osallistujat ennen kokouskutsun lähettämistä. Kuten tavallista, tämän tarkoituksena on arvioida ehdotetun kokouksen kokonaiskustannukset ja sitten päättää, lähetetäänkö kokouskutsu osallistujille. Lisäksi, koska Outlook antaa käyttäjien asettaa osallistujat pakollisiksi tai valinnaisiksi, jotkut haluavat laskea osallistujat eri tyypeissä. Eikä voisi olla parempaa, jos kokouksen resurssit ja kesto voidaan sisällyttää. Vaikka Outlookissa ei ole tällaista suoraa ominaisuutta, voit silti käyttää VBA-koodia sen toteuttamiseen.

Laske osallistuja automaattisesti ennen kokouskutsun lähettämistä
- Aloita käynnistämällä Outlook-ohjelmasi.
- Paina sitten Outlookin pääikkunassa Alt + F11-pikanäppäimiä.
- Seuraavaksi syötät Outlook VBA -editorin onnistuneesti. Nyt sinun on löydettävä ja avattava “ThisOutlookSession” -projekti.
- Kopioi ja liitä seuraavat VBA-koodit sitten tähän projektiin.
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
- Sen jälkeen sinun on allekirjoitettava tämä koodi.
- Varmista myöhemmin, että Outlook sallii digitaalisesti allekirjoitetut makrot.
- Tästä eteenpäin joka kerta kun napsautat Lähetä-painiketta kokouskutsuissa, saat viestin, joka näyttää osallistujien määrän, resurssit ja keston, kuten seuraava kuva:
Selviytyy joustavasti turhauttavasta Outlook-korruptiosta
Ehkä olet koskaan aiemmin kohdannut Outlook-ongelmia, kuten jäädyttämistä, erilaisia virheilmoituksia ja niin edelleen. Onneksi Outlookiin on esiasennettu postilaatikon korjaustyökalu, jota kutsutaan nimellä scanpst, joka pystyy ratkaisemaan pieniä asioita. Mutta jos ongelma on vakava, sinun on käytettävä uudelleen erikoistuneempaa työkalua, kuten DataNumen Outlook Repair.
Tekijän esittely:
Shirley Zhang on tietojen palauttamisen asiantuntija DataNumen, Inc., joka on maailman johtava tietojen palautustekniikoissa, mukaan lukien korruptoitunut mdf ja Outlookin korjausohjelmistotuotteet. Lisätietoja osoitteessa www.datanumen.com

