Outlook VBA将日历同步到Exchange

时间:2014-09-17 14:03:08

标签: vba outlook

我正在寻找一种方法来强制Outlook 2010将日历条目同步回Exchange。

背景:我在功能区中有一个按钮,用于将特定日历条目同步回SQL数据库。当用户添加新条目并在创建约会后直接单击该按钮时,新条目尚未在Exchange服务器上可用。如果用户等待约30秒,则该工具能够找到新条目。 Outlook每隔n秒同步一次数据。

上面提到的按钮调用宏,打开浏览器并执行其他操作。我一直在挖掘Outlook API,但无法找到将日历强制同步回Exchange的方法。有谁知道如何解决这个问题?

修改: 调用日历文件夹上的“更新文件夹”按钮(参见屏幕截图),完全符合我的要求(其他按钮没有)。但我找不到通过宏调用它的方法。

Outlook Send and Receive

1 个答案:

答案 0 :(得分:0)

您可以使用ExecuteMso

模拟按下功能区按钮

未经测试,因为按钮对我没有任何作用。

Private Sub ExecuteMso_UpdateFolder()

    ' https://msdn.microsoft.com/en-us/library/office/ff862419.aspx

    Dim objNS As Namespace
    Dim objExpl As Explorer
    Dim objFolder As folder

    Set objNS = Application.GetNamespace("MAPI")
    Set objExpl = Application.ActiveExplorer

    If Not objExpl Is Nothing Then
        Set objFolder = objExpl.CurrentFolder
        objExpl.CommandBars.ExecuteMso ("UpdateFolder")
    End If

End Sub