Excel宏Outlook电子邮件确定它是否是会议以及响应是什么

时间:2013-12-04 15:57:44

标签: excel-vba outlook vba excel

我正在尝试在Excel中编写一个宏来查看我的Outlook日历,获取所有事件,并显示以下信息:电子邮件的主题,开始时间,此电子邮件是否来自会议邀请,以及我对它的回应是否被接受。

我收到了前两条信息,但我无法弄清楚如何弄清楚最后两条信息。到目前为止,这是我所拥有的:

Dim olApp As Object
Dim olNS As Object
Dim olFolder As Object
Dim olApt As Object
Dim NextRow As Long

Set olApp = CreateObject("Outlook.Application")

Set olNS = olApp.GetNamespace("MAPI")

Set olFolder = olNS.GetDefaultFolder(9) 'olFolderCalendar


Range("A1:C1").Value = Array("Subject", "Start", "Meeting?", "Response")

NextRow = 2

For Each olApt In olFolder.Items
    Cells(NextRow, "A").Value = olApt.Subject
    Cells(NextRow, "B").Value = Format(olApt.Start, "MM-dd-yyyy")
    Cells(NextRow, "C").Value = olApt.MeetingOrNot
    Cells(NextRow, "C").Value = olApt.MeetingResponse
    NextRow = NextRow + 1

Next olApt

显然,MeetingOrNot和MeetingResponse不是有效的属性,所以我想知道是否有人对此有更多了解,或者可以指出我对我想要的最后两个项目的一些参考。谢谢!

2 个答案:

答案 0 :(得分:1)

使用MeetingStatus属性(olMeetingReceived等)和ResponseStatus属性(olResponseAccepted等)。

使用OutlookSpy查看约会 - 选择约会,然后单击项目按钮以查看实时的AppointmentItem对象。或单击“IMessage”按钮以查看“扩展MAPI”属性。

答案 1 :(得分:0)

我可以回答你问题的一半。您想要查看收件箱项的MessageClass属性 - 您希望它属于AppointmentItem类型(olAppointmentItem)。

请参阅http://msdn.microsoft.com/en-us/library/office/aa171490(v=office.11).aspx