Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Outlook 2010选择日历_Vba_Calendar_Outlook - Fatal编程技术网

Vba Outlook 2010选择日历

Vba Outlook 2010选择日历,vba,calendar,outlook,Vba,Calendar,Outlook,我有一些用户希望在切换到Outlook中的日历文件夹时选择多个日历。 因此,我从以下内容中获取了一个示例代码: 对它进行了一些修改,并将其提供给了我的用户。问题是,它并没有在这些前景中发挥作用,我无法找出原因。 下面是我的代码,确切的问题是这个宏无法“选择/启用”我想要的日历-但是如果我尝试调试代码并将MsgBox放入测试-看起来代码是正确的。Procmon未显示任何“拒绝访问”或其他类型的错误。 你能帮我调查一下吗 Sub SelectCalendars() Dim objP

我有一些用户希望在切换到Outlook中的日历文件夹时选择多个日历。 因此,我从以下内容中获取了一个示例代码:

对它进行了一些修改,并将其提供给了我的用户。问题是,它并没有在这些前景中发挥作用,我无法找出原因。 下面是我的代码,确切的问题是这个宏无法“选择/启用”我想要的日历-但是如果我尝试调试代码并将MsgBox放入测试-看起来代码是正确的。Procmon未显示任何“拒绝访问”或其他类型的错误。 你能帮我调查一下吗

    Sub SelectCalendars()
    Dim objPane As Outlook.NavigationPane
    Dim objModule As Outlook.CalendarModule
    Dim objGroupA, objGroupB As Outlook.NavigationGroup
    Dim objNavFolder As Outlook.NavigationFolder
    Dim objCalendar As Folder
    Dim objFolder As Folder
    Dim i As Integer
    Dim test As Outlook.NavigationFolder


    Set Application.ActiveExplorer.CurrentFolder = Session.GetDefaultFolder(olFolderCalendar)
    DoEvents

    Set objCalendar = Session.GetDefaultFolder(olFolderCalendar)
    Set objPane = Application.ActiveExplorer.NavigationPane
    Set objModule = objPane.Modules.GetNavigationModule(olModuleCalendar)


    With objModule.NavigationGroups
        Set objGroupA = .Item(1)
    End With

    ' First calendar group
    Set objNavFolder = objGroupA.NavigationFolders.Item(1)
    MsgBox objNavFolder.DisplayName
    MsgBox objNavFolder.IsSelected
    objNavFolder.IsSelected = False

   ' Second calendar group
    Set objNavFolder = objGroupA.NavigationFolders.Item(2)
    MsgBox objNavFolder.DisplayName
    MsgBox objNavFolder.IsSelected
    objNavFolder.IsSelected = False


    Set objPane = Nothing
    Set objModule = Nothing
    Set objGroup = Nothing
    Set objNavFolder = Nothing
    Set objCalendar = Nothing
    Set objFolder = Nothing
End Sub

首先,我建议使用
Debug.Print
语句而不是消息框

NavigationFolder类的属性允许设置一个布尔变量,该变量指示是否选择NavigationFolder对象进行显示。尝试将此属性设置为true(而不是false)