บทความนี้จะสอนวิธีใช้ Outlook VBA เพื่อรับจำนวนผู้เข้าร่วมโดยอัตโนมัติก่อนส่งคำเชิญเข้าร่วมประชุม
เช่นเดียวกับการนับผู้รับก่อนส่งอีเมล ผู้ใช้บางคนก็ต้องการนับจำนวนผู้เข้าร่วมก่อนส่งคำเชิญเข้าร่วมประชุม โดยปกติแล้ว จุดประสงค์ก็เพื่อประเมินค่าใช้จ่ายทั้งหมดของการประชุมที่เสนอ และตัดสินใจว่าจะส่งคำเชิญเข้าร่วมประชุมไปยังผู้เข้าร่วมหรือไม่ นอกจากนี้ เนื่องจาก Outlook อนุญาตให้ผู้ใช้กำหนดผู้เข้าร่วมเป็นแบบจำเป็นหรือไม่จำเป็น ผู้ใช้บางคนจึงต้องการนับผู้เข้าร่วมในประเภทต่างๆ และจะดียิ่งขึ้นไปอีกหากสามารถรวมทรัพยากรและระยะเวลาของการประชุมได้ แม้ว่า Outlook จะไม่มีฟีเจอร์โดยตรงเช่นนั้น แต่คุณก็ยังสามารถใช้โค้ด VBA เพื่อทำให้เป็นไปได้

นับผู้เข้าร่วมโดยอัตโนมัติก่อนส่งคำเชิญเข้าร่วมประชุม
- ขั้นแรก ให้เปิดโปรแกรม Outlook ของคุณ
- จากนั้นในหน้าต่างหลักของ Outlook ให้กดปุ่มลัด“ Alt + F11”
- ถัดไปคุณจะเข้าสู่โปรแกรมแก้ไข Outlook VBA สำเร็จ ตอนนี้คุณต้องค้นหาและเปิดโครงการ“ ThisOutlookSession”
- จากนั้นคัดลอกและวางรหัส VBA ต่อไปนี้ลงในโครงการนี้
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
- หลังจากนั้นคุณต้องเซ็นรหัสนี้
- ในภายหลังตรวจสอบให้แน่ใจว่า Outlook ของคุณอนุญาตให้ใช้แมโครที่เซ็นชื่อแบบดิจิทัล
- จากนี้ไปทุกครั้งที่คุณคลิกปุ่ม "ส่ง" ในคำเชิญเข้าร่วมการประชุมคุณจะได้รับข้อความแสดงจำนวนผู้เข้าร่วมทรัพยากรและระยะเวลาดังภาพต่อไปนี้:
รับมือกับการทุจริตของ Outlook ที่น่าผิดหวังได้อย่างยืดหยุ่น
บางทีคุณอาจเคยพบปัญหา Outlook มาก่อนเช่นการค้างข้อความแสดงข้อผิดพลาดต่างๆเป็นต้น โชคดีที่ Outlook มาพร้อมกับเครื่องมือซ่อมแซมกล่องขาเข้าที่เรียกว่าเป็นไฟล์ scanpstซึ่งสามารถแก้ไขปัญหาเล็ก ๆ แต่ถ้าปัญหาร้ายแรงคุณจะต้องกลับไปใช้เครื่องมือพิเศษเช่น DataNumen Outlook Repair.
บทนำผู้เขียน:
Shirley Zhang เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ mdf เสียหาย และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

