Definir um módulo como o módulo selecionado atualmente no painel de navegação
Use a propriedade CurrentModule do objeto NavigationPane no Microsoft Outlook para definir um objeto NavigationModule como o módulo de navegação atualmente selecionado no Painel de Navegação de um objeto Explorer .
O seguinte exemplo define o módulo de navegação de Calendário como o módulo selecionado atualmente se o módulo de navegação Diário estiver selecionado, seja de forma programática ou por ação de usuário, no Painel de Navegação. O exemplo desempenha as seguintes ações:
O exemplo primeiro obtém uma referência ao objeto NavigationPane para o explorador ativo quando o evento Inicialização do objeto Application é gerado e o atribui a , para
objPane
que o evento ModuleSwitch do objeto NavigationPane possa ser detectado.Quando ocorre o evento ModuleSwitch do NavigationPane , o exemplo verifica se o módulo de navegação atual foi alterado comparando o conteúdo do parâmetro CurrentModule do evento ModuleSwitch com a propriedade CurrentModule do objeto NavigationPane .
Se essas referências de objeto forem diferentes, o exemplo verificará a propriedade NavigationModuleType da referência de objeto NavigationModule no parâmetro CurrentModule do evento ModuleSwitch .
Se a propriedade NavigationModuleType do objeto Module selecionado atualmente estiver definida como DiárioDoMódulo, o exemplo exibirá uma caixa de diálogo para indicar ao usuário que o módulo de navegação Diário selecionado atualmente está temporariamente indisponível e que o módulo de navegação Calendário será selecionado.
Por fim, o exemplo usa o método GetNavigationModule da coleção Modules para o objeto NavigationPane para tentar recuperar um objeto CalendarModule . Caso tenha êxito, a propriedade CurrentModule do objeto NavigationPane é definida para o objeto de referência CalendarModule recuperado.
Dim WithEvents objPane As NavigationPane
Private Sub Application_Startup()
' Get the NavigationPane object for the
' currently displayed Explorer object.
Set objPane = Application.ActiveExplorer.NavigationPane
End Sub
Private Sub objPane_ModuleSwitch(ByVal CurrentModule As NavigationModule)
Dim objModule As CalendarModule
' Check if the currently selected navigation module
' has changed.
If Not (CurrentModule Is objPane.CurrentModule) Then
' If the Journal module was selected, forcibly change
' it to the Calendar module by setting the
' CurrentModule property of the NavigationPane object.
If CurrentModule.NavigationModuleType = olModuleJournal Then
' Let the user know what's happening.
MsgBox "The Journal module is temporarily unavailable. " & _
" Outlook is switching to the Calendar module, if available."
' Retrieve the Calendar module, if one exists, for the
' current Navigation Pane.
Set objModule = objPane.Modules.GetNavigationModule(olModuleCalendar)
' If we have one, set the CurrentModule property of the
' NavigationPane object to the Calendar module.
If Not (objModule Is Nothing) Then
Set objPane.CurrentModule = objModule
End If
End If
End If
End Sub
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.