ナビゲーション ウィンドウを表示または非表示にする
NavigationPane オブジェクトの IsCollapsed プロパティを設定して、Explorer オブジェクトのナビゲーション ウィンドウを折りたたんだり展開したりできます。 ナビゲーション ウィンドウの外観は、IsCollapsed プロパティの設定、および NavigationPane オブジェクトのその他のプロパティの設定に応じて変化します。 NavigationPane オブジェクトの DisplayedModuleCount プロパティは、ナビゲーション ウィンドウで表示できるモジュールの数を決定し、各 NavigationModule オブジェクトの Visible プロパティと Position プロパティ値によって、表示されるモジュールと順序が決まります。
IsCollapsed プロパティを True に設定すると、ナビゲーション ウィンドウが折りたたまれます。 折りたたまれると、ナビゲーション ウィンドウには、表示可能な各ナビゲーション モジュールのアイコンだけが表示されます。
IsCollapsed プロパティを False に設定すると、ナビゲーション ウィンドウが展開されます。 展開すると、ナビゲーション ウィンドウには、DisplayedModuleCount プロパティで指定された NavigationPane オブジェクトの NavigationModules コレクションに含まれる最上位に表示されるモジュールの数のアイコンと名前が表示されます。 表示可能なその他のモジュールはすべて、ナビゲーション ウィンドウの下部にアイコンとして表示されます。
たとえば、アクティブなエクスプローラーで展開された NavigationPane オブジェクトの NavigationModules コレクションには、8 つのモジュールが含まれています。 すべてのモジュールの Visible プロパティ値は True で、3 番目のナビゲーション モジュールを除きます (Position プロパティ値が 3 に設定された Module オブジェクト)。DisplayedModuleCount プロパティが 4 に設定されている場合、Position プロパティの値が 1、2、4、5 の最初の 4 つの NavigationModule オブジェクトのアイコンと名前のみがナビゲーション ウィンドウに大きなボタンとして表示されます。 残りの 3 つの表示される NavigationModule オブジェクト (位置 6、7、8) は、ナビゲーション ウィンドウの下部にある小さなボタンにアイコンとしてのみ表示されます。 IsCollapsed プロパティが False に設定されている場合、折りたたまれたナビゲーション ウィンドウには、最初の 4 つの表示可能な NavigationModule オブジェクトがアイコンとしてのみ表示されます。 残りの 3 つの表示可能な NavigationModule オブジェクトは、ナビゲーション ウィンドウのドロップダウン メニューで使用できます。 次のサンプルは、IsCollapsed プロパティを False に設定して、現在選択されているナビゲーション モジュールが、プログラムまたはユーザーの操作によって変更された場合、常にナビゲーション ウィンドウが展開されるようにします。 実行する処理は以下のとおりです。
このサンプルでは、最初に、Application オブジェクトの Startup イベントが発生し、それを に
objPane
割り当てるときに、アクティブなエクスプローラーの NavigationPane オブジェクトへの参照を取得し、NavigationPane オブジェクトの ModuleSwitch イベントを検出できるようにします。NavigationPane の ModuleSwitch イベントが発生すると、サンプルは、ModuleSwitch イベントの CurrentModule パラメーターの内容を NavigationPane オブジェクトの CurrentModule プロパティと比較することで、現在のナビゲーション モジュールが変更されたかどうかを確認します。 これらのオブジェクト参照が異なる場合、NavigationPane オブジェクトの IsCollapsed プロパティは False に設定されます。
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)
' Check if the currently selected navigation module
' has changed.
If Not (CurrentModule Is objPane.CurrentModule) Then
' Set the IsCollapsed property to
' ensure that the Navigation Pane
' is visible.
If Not (objPane Is Nothing) Then
objPane.IsCollapsed = False
End If
End If
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。