从Access捕获Outlook日历事件

时间:2017-11-16 20:04:37

标签: vba ms-access outlook calendar

我在Office 365中设置了一个Web日历,它与Access 2016的“Data Sourse”连接。同时,本地Outlook正在“查看”日历的Web文件夹(outlook 365)。添加,更改或删除约会时,所有三个Access(即链接表)-web日历 - 本地日历都会正确同步。

我想“陷阱”所有上述事件并在我的数据库中使用。 出于这个原因,我添加了带ModOutlookRespond的模块,代码为:

Public Sub Initialize_handler()
    Set m_olapp = GetObject(, "Outlook.Application")
    m_olapp.GetNamespace("MAPI").Logon "Microsoft Outlook"
    Set m_olNameSpace = m_olapp.GetNamespace("MAPI")
    'this allows us to capture an appoitment item change event
    Set m_olAppoitmentItems = m_olNameSpace.GetDefaultFolder(olFolderCalendar).Items
    Debug.Print "Connection Initialised"
End Sub

并在主表单的Initialize_handler()事件中添加了Open

在主表单上,我还添加了代码:

Public WithEvents m_olapp As Outlook.Application
Public WithEvents m_olAppoitments As Outlook.Items
Public m_olNameSpace As Outlook.NameSpace

Private Sub m_olAppoitments_ItemAdd(ByVal Item As Object)
    Debug.Print "Item has added" & Item.Subject
End Sub

我到目前为止只有Debug.Print "Connection Initialised"但是没有一次来自Add事件(或我试过的任何其他事件)的任何消息。 我有什么想法可以试试吗?

0 个答案:

没有答案