我打印了每一份会议邀请,以便老板在开会时携带。他喜欢查看组织者和与会者。现在在 Outlook 2013 中,当我打印会议邀请时,它只显示组织者姓名,而不显示必需的与会者和可选的与会者。Outlook 2013 中是否有我需要启用或更改的功能?
答案1
当我打印会议邀请时,它只显示组织者姓名
而不是强制参加者和可选参加者。
Outlook 仅对此提供有限的支持。您可以使用以下解决方法。
创建会议出席者和响应列表
此代码示例获取约会详细信息和与会者(以及他们的回复)并将其插入到新的 Outlook 消息表单中,您可以打印、发送或复制数据以供其他应用程序使用。
在 Outlook 2007 和 Outlook 2010 中测试过。它应该可以在 Outlook 2000 及更高版本中使用。请注意,代码将触发安全提示。
在 Outlook 2007 和 Outlook 2010 中测试过。它应该可以在 Outlook 2000 及更高版本中使用。请注意,代码将触发安全提示。
获取会议出席者列表宏
要使用,请按 Alt+F11 打开 Outlook 的 VBA 编辑器。右键单击左侧窗格中的 Project1,然后选择插入 > 模块。复制此代码并将其粘贴到模块中。
获取 GetCurrentItem 函数Outlook VBA:使用打开的项目或选定的项目并将其粘贴至模块末尾。
然后选择或打开您组织的会议并运行宏以创建包含会议详细信息的消息。已接受、已拒绝、暂定和未回复的总数将添加到列表中。
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
Dim strCount 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)"
ino = ino + 1
Case 1
strMeetStatus = "Organizer"
ino = ino + 1
Case 2
strMeetStatus = "Tentative"
it = it + 1
Case 3
strMeetStatus = "Accepted"
ia = ia + 1
Case 4
strMeetStatus = "Declined"
ide = ide + 1
End Selec
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
strCount = "Accepted: " & ia & vbCrLf & _
"Declined: " & ide & vbCrLf & _
"Tentative: " & it & vbCrLf & _
"No response: " & ino
Set ListAttendees = Application.CreateItem(olMailItem)
ListAttendees.Body = strCopyData & vbCrLf & strCount
ListAttendees.Display
EndClean:
Set objApp = Nothing
Set objItem = Nothing
Set objAttendees = Nothing
End Sub
复制与会者名单及回复
Outlook 2010 和 Outlook 2013 允许您复制与会者信息,以便在其他应用程序中直接使用。要复制信息,请打开会议,展开“跟踪”按钮,然后选择“将状态复制到剪贴板”。现在您可以将与会者列表粘贴到其他应用程序中。
您可以复制 Outlook 2010 和 Outlook 2013 中的与会者答复并将其粘贴到另一个应用程序中。
注意 1:复制的列表是制表符分隔的,可能不适合直接在 Word 中使用。如果您先将其粘贴到 Excel 中,然后从 Excel 复制并粘贴到 Word 中,您将得到一个可以在 Word 中轻松格式化的表格。
注 2:如果你想更新回复,让它们反映出他们是否真的出现了,请参见手动会议响应跟踪
打印与会者名单及回复
Outlook 本身在打印会议时不包含与会者的回复。一种解决方法是使用如上所述的复制方法,并从粘贴图像或列表的应用程序中打印它。
如果您需要经常这样做,上述解决方法可能并不实用,并且在专业会议报告中使用屏幕截图图像时可能会看起来很不合适。
使用名为与会者从 IMIBO 打印。使用此插件您可以……
- print directly the names of the people who have been invited to a meeting. - print directly response status – Accepted, Declined, Tentative, None - save/export report directly to Microsoft® Office Word - save/export report directly to Microsoft® Office Excel - save/export report as RTF file - save/export report as Adobe PDF file - save/export report as HTML file
请注意,该插件可作为试用软件使用,必须购买许可证。