Share via


Définir un module en tant que module actuellement sélectionné dans le volet de navigation

Utilisez la propriété CurrentModule de l’objet NavigationPane dans Microsoft Outlook pour définir un objet NavigationModule comme module de navigation actuellement sélectionné dans le volet de navigation d’un objet Explorateur .

L'exemple ci-dessous définit le module de navigation Calendrier comme le module de navigation actuellement sélectionné si le module de navigation Journal est sélectionné, par le biais de la programmation ou par l'intervention de l'utilisateur dans le Volet de navigation. Il permet d'effectuer les actions suivantes :

  1. L’exemple obtient d’abord une référence à l’objet NavigationPane pour l’explorateur actif lorsque l’événement Startup de l’objet Application est déclenché et l’affecte à objPane, afin que l’événement ModuleSwitch de l’objet NavigationPane puisse être détecté.

  2. Lorsque l’événement ModuleSwitch du NavigationPane se produit, l’exemple vérifie ensuite si le module de navigation actuel a changé en comparant le contenu du paramètre CurrentModule de l’événement ModuleSwitch à la propriété CurrentModule de l’objet NavigationPane .

  3. Si ces références d’objet sont différentes, l’exemple vérifie ensuite la propriété NavigationModuleType de la référence d’objet NavigationModule dans le paramètre CurrentModule de l’événement ModuleSwitch .

  4. Si la propriété NavigationModuleType de l'objet Module actuellement sélectionné prend la valeur olModuleJournal, l'exemple affiche une boîte de dialogue pour indiquer à l'utilisateur que le module de navigation Journal actuellement sélectionné est temporairement indisponible, et que c'est le module de navigation Calendrier qui va être utilisé à la place.

  5. Enfin, l’exemple utilise la méthode GetNavigationModule de la collection Modules pour l’objet NavigationPane afin de tenter de récupérer un objet CalendarModule . Si l’opération aboutit, la propriété CurrentModule de l’objet NavigationPane est définie sur la référence d’objet CalendarModule extraite.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.