이 문서에서는 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에는 다음과 같은받은 편지함 복구 도구가 사전 설치되어 있습니다. 스캔프스트, 작은 문제를 해결할 수 있습니다. 그러나 문제가 심각한 경우에는 다음과 같은보다 전문화 된 도구를 사용해야합니다. DataNumen Outlook Repair.
저자 소개 :
Shirley Zhang은 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. 손상된 mdf 및 전망 수리 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM


