Office: (Office 2019) Hide Navigation Pane

Helfe beim Thema Hide Navigation Pane in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Liebe ExpertInnen, ' Quelle: Hiding the navigation pane Dim strCurrentObjectName As String strCurrentObjectName =... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von drambeldier, 16. März 2026 um 18:57 Uhr.

  1. drambeldier Erfahrener User

    Hide Navigation Pane


    Liebe ExpertInnen,

    ' Quelle: Hiding the navigation pane

    Dim strCurrentObjectName As String

    strCurrentObjectName = Application.CurrentObjectName

    ' Move focus to the navigation pane/database container
    DoCmd.NavigateTo ("acNavigationCategoryObjectType")
    ' The Navigation Pane is open and has focus.
    DoCmd.SelectObject acQuery, vbNullString, True
    If strCurrentObjectName <> Application.CurrentObjectName then
    RunCommand acCmdWindowHide
    End If

    sieht gut aus, läuft aber nicht (ist so 1000mal im www zu finden).
    Problem: Anstatt des Navigation Pane wird das aktuelle Formular ausgeblendet. Dessen Name steht in strCurrentObjectName, aber ebenso in Application.CurrentObjectName, wo ich den Namen des NavPane erwartet hätte, sodass die Anweisung RunCommand acCmdWindowHide nicht ausgeführt wird.

    Die Anweisung DoCmd.SelectObject acQuery, vbNullString, True hatte ich mal testweise eingebaut in der Hoffnung, dass so das Pane aktiviert wird. Schlecht ausgedrückt, aktiviert wird es, das ist an der selektierten Query zu erkennen, es wird aber kein ObjectName des NavPane geliefert.

    btw: Gibt es hier keine Code-Brackets?

    Kann das an Windows 11 liegen? Oder gibt es in Access eine geheime Option, die den Ablauf verhindert?

    Dank & Gruß
    Ralf
     
    Zuletzt bearbeitet: 16. März 2026 um 19:03 Uhr
  2. knobbi38 hat Ahnung
    Hallo Ralf,

    wenn das aktuelle Formular ausgeblendet wird, dann trifft die Bedingung
    Code:
    strCurrentObjectName <> Application.CurrentObjectName
    wohl zu. Hast du dir die Angaben mal im Direktfenster ausgeben lassen?

    Hier die Version, welche ich verwende:
    Code:
    Public Sub ShowNavigationPane(ByVal Visible As Boolean)
    
     On Error GoTo ShowNavigationPane_Err
    
      If Not Application.SysCmd(acSysCmdRuntime) Then
        If Not Visible Then
          DoCmd.NavigateTo "acNavigationCategoryObjectType"
          Application.RunCommand acCmdWindowHide
        Else
          DoCmd.SelectObject acMacro, , True
        End If
      End If
       
    ShowNavigationPane_End:
       Exit Sub
     
    ShowNavigationPane_Err:
    ' Todo: 
    ErrorMessage 
      Resume ShowNavigationPane_End
    End Sub
    
    Ich selektiere hierbei zum Einblenden bewusst im Pane die Kategorie "Makros", weil bei mir immer mindestens eins vorhanden ist (AutoExec, AutoKeys). Man könnte aber auch eine andere Kategorie selektieren.
    Ein passende Fehlermeldung musst du allerdings noch selber ergänzen.

    Gruß
    Knobbi38
     
  3. drambeldier Erfahrener User
    Guten Morgen, Knobbi,

    da haben wir eine ganz vezinkte Lage:

    Die Abfrage
    strCurrentObjectName <> Application.CurrentObjectName
    soll ja gerade verhindern, dass bei ausgeblendetem Pane das rufende Formlar ausgeblendet wird. Oder anders gesagt:
    DoCmd.NavigateTo ("acNavigationCategoryObjectType")
    wird ausgeführt, in
    Application.CurrentObjectName
    steht aber weiterhin der Name das rufenden Formulars, und völlig korrekt wird daraufhin
    RunCommand acCmdWindowHide
    übersprungen.

    Zum Testen habe ich mein Formular aus dem Pane heraus gestartet, bis ich dann die Limitations entdeckt habe:
    ' Limitations: An object (form, report, query, etc) must be open and it
    ' cannot be the same name as the selected item in the nav pane
    ' or this will do nothing.

    Das habe ich dann gelassen, besser geworden ist dadurch aber nichts.

    Der Tipp mit dem SelectObject acMacro ist gut, ein AutoExec ist immer vorhanden.

    Bitte noch zwei Tipps zum Handling: ich vermisse sowohl eine Vorschau als einen Shortcut für die Code-Brackets.
     
  4. drambeldier Erfahrener User

    Hide Navigation Pane

    Servus, Knobbi,

    magst Du diese Prozedur vielleicht mal bei Dir laufen lassen? Ich glaube nicht an Voodoo, meinem Access traue ich inzwischen aber nicht mehr über den Weg ;-))
    Code:
    Public Sub HideNavPane()
    
    '-------------------------------------------------------------------------------------
    '    Quelle: https://stackoverflow.com/questions/47475999/hiding-the-navigation-pane
    '
    '        This will hide the Navigation Pane.
    '        It works even if a search filter is set, unlike other solutions that may
    '        inadvertently close the active object.
    '-------------------------------------------------------------------------------------
    '    Limitations:  !!!
    '        An object (form, report, query, etc) must be open and
    '        it may NOT be the same name as the selected item in the nav pane
    '        or this will do nothing.
    '        Falls zB  die Form, die das Verriegeln (Knöpfe_zu) enthält,
    '        zufällig gerade im NavPane selektiert ist, hamma den Salat.
    '-------------------------------------------------------------------------------------
      
        Dim strCurrentObjectName        As String
      
        On Error GoTo HideNavPane_err
      
        If Not Application.SysCmd(acSysCmdRuntime) Then
            strCurrentObjectName = Application.CurrentObjectName
                                    ' Move focus to the navigation pane/database container
            DoCmd.NavigateTo ("acNavigationCategoryObjectType")
                                    ' The Navigation Pane is open and has focus.
                                    ' achte auf LIMITATIONS!!!
                                                        ' Auswahl Form verhindern,
                                                        ' AutoExec ist immer vorhanden
            DoCmd.SelectObject acMacro, , True
            Debug.Print "strCurrentObjectName          "; strCurrentObjectName
            Debug.Print "Application.CurrentObjectName "; Application.CurrentObjectName
            If strCurrentObjectName <> Application.CurrentObjectName Then
                RunCommand acCmdWindowHide
            End If
        End If
    HideNavPane_exit:
        Exit Sub
    HideNavPane_err:
        MsgBox Err.Number & " " & Err.Description, vbExclamation, "HideNavPane"
        Resume HideNavPane_exit
    End Sub
    
     
  5. drambeldier Erfahrener User
    Es ist zum Verrücktwerden: Office runtergeschmissen, neu installiert und schon steht in
    Application.CurrentObjectName der erwartete Wert.
    Das hat mich jetzt zwei Tage gekostet - mein Fehler ist wohl, ich suche immer erst bei mir ;-))

    Jetzt kämpfe ich wieder mal mit den Ereignissen. Das Verriegeln kann ja erst dann passieren, wenn die Startform ihren Namen in
    Code:
           strCurrentObjectName = Application.CurrentObjectName
    
    abliefert. Oder anders gesagt: Wie erfahre ich, dass die Form zu sehen ist?

    Danke fürs Draufschauen, die Tipps, und Deine Geduld.

    Servus
     
  6. knobbi38 hat Ahnung
    Hallo Ralf,

    also ehrlich, soviel Aufwand mache ich mir nicht. In der Autoexec wird u.a. eine VBA Prozedur Startup() aufgerufen und in der vor dem Laden des ersten Formulars die Prozedur "ShowNavigationPane false" aufgerufen. Im Form_Close Event dann das Gegenstück "ShowNavigationPane true".

    Da ich davon ausgehen, dass dein Nav-Form als erstes und letztes Formular geöffnet bzw. geschlossen wird, sollte das so funktionieren.

    Gruß
    Knobbi38
     
  7. drambeldier Erfahrener User
    Na ja, ganz so einfach ist es nicht. Die Anwendung läuft im Vereinsheim, deshalb wird sie erstmal verrammelt und bei Bedarf über eine Hintertür (ganz luxuriös mit Kennwort) eingestiegen.

    Gute Nacht
     
Thema:

Hide Navigation Pane

Die Seite wird geladen...
  1. Hide Navigation Pane - Similar Threads - Hide Navigation Pane

  2. History List in der Word Navigation

    in Microsoft Word Hilfe
    History List in der Word Navigation: Hallo Zusammen, ich wurde gerne eine History List im "Dokumente durchsuchen" Eingabefeld der Word Navigation (Es ist die Liste, die links nach den Überschriften das Dokument durchsucht) haben....
  3. Gliederung mit Überschriften erscheint nicht in der Navigation

    in Microsoft Word Hilfe
    Gliederung mit Überschriften erscheint nicht in der Navigation: Hi! Ich habe eine Vorlage zum Bearbeiten eines Projektes bekommen. Das Dokument ist ziemlich lang mit fast 200 Seiten und ich würde gerne die Navigation (Navigationsbereich) nutzen, um mich besser...
  4. Menü als Navigation in VBA programmieren (Hyperlink alternative)?

    in Microsoft PowerPoint Hilfe
    Menü als Navigation in VBA programmieren (Hyperlink alternative)?: Hallo zusammen, meine ppt hat fast 100 Folien , wobei meistens 5 Folien zu einem Thema («zum gleichen Paket») gehören. Nun möchte ich gerne gleich zu Beginn ein Menüfenster einfügen, damit man zu...
  5. Userform beenden hide unload

    in Microsoft Excel Hilfe
    Userform beenden hide unload: Hallo allerseits! Ich weiß nicht wirklich, was der Unterschied zwischen den beiden folgenden Befehlen ist: userform1.hide unload userform1 Kennt sich da jemand aus und kann mir das eventuell...
  6. Formulare mit Navigation, zwischen Formularen springen, gefiltere Abfrage

    in Microsoft Access Hilfe
    Formulare mit Navigation, zwischen Formularen springen, gefiltere Abfrage: Hallo zusammen, ich bin neu im Forum und hier ist auch schon mein erster Beitrag, ich hoffe ihr könnt mir helfen. Mein grober Aufbau bisher: - Bei der Datenbank geht es um Warenströme und alles...
  7. .ClearContents / .Hide Error

    in Microsoft Excel Hilfe
    .ClearContents / .Hide Error: Morgen, undzwar stellen sich mir gerade zwei Probleme. Zum einen habe ich eine Funktion welche mittels ClearContents den Inhalt eines Blattes löscht: Sub bedarfs_tabelle_leeren()...
  8. Dropdown Menu Ja/Nein = neue Zeile/Hide Zeile oder Makro

    in Microsoft Excel Hilfe
    Dropdown Menu Ja/Nein = neue Zeile/Hide Zeile oder Makro: hallo allerseits, ich habe eine Tabelle mit 7 Zeilen (7 Produkte) und 5 Spalten 1. Spalte Name des Produkts 2. Spalte soll Dropdown mit Ja/Nein (zB. mit Zubehör [Ja] ohne Zubehör [Nein]...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden