Outlookで会議の招待状を送信する前に出席者を自動カウントする方法

今すぐ共有:

この記事では、Outlook VBAを使用して、会議の招待状を送信する前に出席者の数を自動的に取得する方法について説明します。 

メール送信前に受信者数を数えるのと同様に、会議の招待状を送る前に参加者数を数えたいユーザーもいます。通常、これは提案された会議の総費用を見積もり、参加者に会議の招待状を送るかどうかを決定することを目的としています。さらに、Outlookでは参加者を必須または任意に設定できるため、異なるタイプの参加者を数えたいユーザーもいます。会議のリソースと所要時間も含めることができれば、なお良いでしょう。Outlookにはそのような直接的な機能はありませんが、VBAコードを使用して実現することは可能です。

Outlookで会議の招待状を送信する前に、出席者を自動カウントします

会議の招待状を送信する前に、参加者を自動カウントします

  1. まず、Outlookプログラムを起動してください。
  2. 次に、Outlookのメインウィンドウで、「Alt + F11」キーのショートカットを押します。
  3. 次に、OutlookVBAエディターに正常に入力します。 次に、「ThisOutlookSession」プロジェクトを見つけて開く必要があります。
  4. 続いて、次の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

VBAコード-会議の招待状を送信する前に参加者を自動カウントします

  1. その後、このコードに署名する必要があります。
  2. 後で、Outlookがデジタル署名されたマクロを許可していることを確認してください。
  3. これ以降、会議の招待状で[送信]ボタンをクリックするたびに、次の画像のように、出席者の数、リソース、および期間を示すメッセージが表示されます。参加者数を示すメッセージ

イライラするOutlookの破損に柔軟に対処する

おそらく、フリーズやさまざまなエラーメッセージなど、Outlookの問題に遭遇したことがあるでしょう。 幸い、Outlookには、次のような受信トレイ修復ツールがプリインストールされています。 スキャンプスト、小さな問題を解決することができます。 ただし、問題が深刻な場合は、次のようなより専門的なツールに戻る必要があります。 DataNumen Outlook Repair.

著者紹介:

Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損したmdf と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。