この記事では、Outlook VBAを使用して、会議の招待状を送信する前に出席者の数を自動的に取得する方法について説明します。
電子メールを送信する前に受信者を数えるのと同様に、一部のユーザーは会議の招待状を送信する前に出席者を数えたいと考えています。 いつものように、これは合計cを推定することを目的としていますost 提案された会議の概要を確認してから、そのような会議の招待状を出席者に送信するかどうかを決定します。 さらに、Outlookではユーザーが出席者を必須またはオプションとして設定できるため、さまざまな種類の出席者を数えたいと考える人もいます。 そして、会議のリソースと期間を含めることができれば、これ以上のことはありません。 Outlookにはそのような直接的な機能はありませんが、VBAコードを使用してそれを実現できます。

会議の招待状を送信する前に、参加者を自動カウントします
- にtarで、Outlookプログラムを起動します。
- 次に、Outlookのメインウィンドウで、「Alt + F11」キーのショートカットを押します。
- 次に、OutlookVBAエディターに正常に入力します。 次に、「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 と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

