Outlook 2010 now includes a Copy to Clipboard command under the Tracking tab, but prior to Outlook 2010, the only way to get a list of meeting attendees and their responses was by taking a screenshot or using VBA.
This code sample gets the appointment details and attendees (along with their responses) and inserts it into a new Outlook message form, which you can print, send or copy the data for use in other applications.
Tested in Outlook 2007 and Outlook 2010. It should work in Outlook 2000 and up. Note that the code will trigger the security prompt.
See More Information for links to VBA code samples that send the information to Word or Excel.
Don't forget to adjust your macro security settings to allow macros to run!
Get Meeting Attendee List Macro
To use, open Outlook's VBA Editor by pressing Alt+F11. Right click on the Project1 in the left pane and choose Insert > Module. Copy this code and paste it into the Module.
Get the GetCurrentItem function from Outlook VBA: work with open item or selected item and paste it at the end of the module.
Then select or open a meeting you organized and run the macro to create a message containing the meeting details.
Sub GetAttendeeList() Dim objApp As Outlook.Application Dim objItem As Object Dim objAttendees As Outlook.Recipients Dim objAttendeeReq As String Dim objAttendeeOpt As String Dim objOrganizer As String Dim dtStart As Date Dim dtEnd As Date Dim strSubject As String Dim strLocation As String Dim strNotes As String Dim strMeetStatus As String Dim strCopyData As String On Error Resume Next Set objApp = CreateObject("Outlook.Application") Set objItem = GetCurrentItem() Set objAttendees = objItem.Recipients On Error GoTo EndClean: ' Is it an appointment If objItem.Class <> 26 Then MsgBox "This code only works with meetings." GoTo EndClean: End If ' Get the data dtStart = objItem.Start dtEnd = objItem.End strSubject = objItem.Subject strLocation = objItem.Location strNotes = objItem.Body objOrganizer = objItem.Organizer objAttendeeReq = "" objAttendeeOpt = "" ' Get The Attendee List For x = 1 To objAttendees.Count strMeetStatus = "" Select Case objAttendees(x).MeetingResponseStatus Case 0 strMeetStatus = "No Response (or Organizer)" Case 1 strMeetStatus = "Organizer" Case 2 strMeetStatus = "Tentative" Case 3 strMeetStatus = "Accepted" Case 4 strMeetStatus = "Declined" End Select If objAttendees(x).Type = olRequired Then objAttendeeReq = objAttendeeReq & objAttendees(x).Name & vbTab & strMeetStatus & vbCrLf Else objAttendeeOpt = objAttendeeOpt & objAttendees(x).Name & vbTab & strMeetStatus & vbCrLf End If Next strCopyData = "Organizer: " & objOrganizer & vbCrLf & "Subject: " & strSubject & vbCrLf & _ "Location: " & strLocation & vbCrLf & "Start: " & dtStart & vbCrLf & "End: " & dtEnd & _ vbCrLf & vbCrLf & "Required: " & vbCrLf & objAttendeeReq & vbCrLf & "Optional: " & _ vbCrLf & objAttendeeOpt & vbCrLf & "NOTES " & vbCrLf & strNotes Set ListAttendees = Application.CreateItem(olMailItem) ListAttendees.Body = strCopyData ListAttendees.Display EndClean: Set objApp = Nothing Set objItem = Nothing Set objAttendees = Nothing End Sub
Print appointment with attendee status The master code; it prints the appointment details and attendee responses to a Word document.
Outlook Meeting Tracking Export prints the attendee responses to Excel.