Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Ribbons in Access 2010 komplett ausblenden
zurück: Formularaufruf mit Parameterübergabe und Datenfilterung weiter: Blutdruck messen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
redround
Entwickler und ext. Datenschutzbeauftragter


Verfasst am:
13. Dez 2011, 20:08
Rufname:

Ribbons in Access 2010 komplett ausblenden - Ribbons in Access 2010 komplett ausblenden

Nach oben
       Version: Office 2010

Ribbons sind seit Ihrer Einführung stark umstritten. Gerade auf kleinen Bildschirmen wie etwa bei Netbooks nehmen Sie oft viel Platz weg. Viele Entwickler machen sich auch die Mühe, umfangreichen Interaktionsmöglichkeiten z. B. per Buttons zu schaffen, so dass auf Ribbons ggf. komplett verzichtet werden kann.

Nun ist es aber leider gar nicht so einfach, alle Ribbons dauerhaft in einer Access-Datenbank auszublenden. Der nachfolgende Code übernimmt die Konfiguration der Datenbank, so dass nur einmal die Prozedur makeInvisibleRibbon() aufgerufen werden muss, um alle erforderlichen Schritte in der Datenbank durchzuführen. Wer es lieber manuell machen möchte, der findet auch eine entsprechende Beschreibung der einzelnen Schritte zum "Nachklicken" unter Ribbons_Ausblenden.pdf.
Code:
Option Compare Database
Option Explicit

Public Sub makeInvisibleRibbon()
    ' ----------------------------------------------------
    ' Ermitteln, ob Tabelle USysRibbons schon angelegt ist
    ' ----------------------------------------------------
    If DCount("Name", "MSysObjects", "Name='USysRibbons'") = 0 Then
        createUSysRibbons
    End If
   
    ' -----------------------------------------
    ' Prüfen, ob bereits eine Ribbon-Definiton
    ' mit dem Namen "unsichtbar" angelegt wurde
    ' -----------------------------------------
    createRibbonXLM
   
    ' ---------------------------------
    ' "unsichtbares" Menüband verwenden
    ' ---------------------------------
    setProperties
   
End Sub

Private Sub createUSysRibbons()
    ' -------------------
    ' Tabelle neu anlegen
    ' -------------------
    Dim td As TableDef
    Dim f As Field
    Dim pk As Index
   
    Set td = CurrentDb.CreateTableDef
    td.Name = "USysRibbons"
    td.Attributes = 2
   
    ' ---------------
    ' Spalten anlegen
    ' ---------------
    Set f = td.CreateField("ID", dbLong)
    f.Attributes = dbAutoIncrField
    td.Fields.Append f
    td.Fields.Append td.CreateField("RibbonName", dbText, 255)
    td.Fields.Append td.CreateField("RibbonXml", dbMemo)
    td.Fields.Refresh
   
    ' --------------------------
    ' Primärschlüssel definieren
    ' --------------------------
    Set pk = td.CreateIndex("PrimaryKey")
    pk.Fields.Append pk.CreateField("Id")
    pk.Primary = True
    pk.Unique = True
    td.Indexes.Append pk
    td.Indexes.Refresh
   
    ' -----------------
    ' Tabelle speichern
    ' -----------------
    CurrentDb.TableDefs.Append td
    CurrentDb.TableDefs.Refresh
   
    Set pk = Nothing
    Set f = Nothing
    Set td = Nothing

End Sub

Private Sub createRibbonXLM()
    Dim strSQL As String
   
    If DCount("RibbonName", "USysRibbons", "RibbonName = 'unsichtbar'") = 0 Then
        strSQL = ""
        strSQL = strSQL & "Insert Into USysRibbons("
        strSQL = strSQL & "  RibbonName,"
        strSQL = strSQL & "  RibbonXml) "
        strSQL = strSQL & "Values("
        strSQL = strSQL & "  'unsichtbar',"
        strSQL = strSQL & "  '<customUI xmlns=""http://schemas.microsoft.com/office/2006/01/customui"">" & vbNewLine
        strSQL = strSQL & "     <ribbon startFromScratch=""true"">" & vbNewLine
        strSQL = strSQL & "     </ribbon>" & vbNewLine
        strSQL = strSQL & "   </customUI>')"

        CurrentDb.Execute strSQL
    End If
End Sub

Private Sub setProperties()
    Dim prop As Property
    Dim blnAllowFullMenusFound As Boolean
    Dim blnAllowBuiltInToolbarsFound  As Boolean
    Dim blnCustomRibbonIDFound As Boolean
   
    ' ----------------------------------
    ' Properties setzen, falls vorhanden
    ' ----------------------------------
    blnAllowBuiltInToolbarsFound = False
    blnAllowFullMenusFound = False
    blnCustomRibbonIDFound = False
    For Each prop In CurrentDb.Properties
        Select Case prop.Name
            Case "AllowFullMenus"
                blnAllowFullMenusFound = True
                prop.Value = False
            Case "AllowBuiltInToolbars"
                blnAllowBuiltInToolbarsFound = True
                prop.Value = False
            Case "CustomRibbonID"
                blnCustomRibbonIDFound = True
                prop.Value = "unsichtbar"
        End Select
    Next
   
    ' -----------------------------------------
    ' Prüfen, ob noch Properies benötigt werden
    ' -----------------------------------------
    If blnAllowBuiltInToolbarsFound = False Then
        Set prop = CurrentDb.CreateProperty("AllowBuiltInToolbars", dbBoolean, False)
        CurrentDb.Properties.Append prop
        CurrentDb.Properties.Refresh
    End If
    If blnAllowFullMenusFound = False Then
        Set prop = CurrentDb.CreateProperty("AllowFullMenus", dbBoolean, False)
        CurrentDb.Properties.Append prop
        CurrentDb.Properties.Refresh
    End If
    If blnCustomRibbonIDFound = False Then
        Set prop = CurrentDb.CreateProperty("CustomRibbonID", dbText, "unsichtbar")
        CurrentDb.Properties.Append prop
        CurrentDb.Properties.Refresh
    End If
End Sub
Um wieder alle Ribbons einzublenden, reicht es, die Datenbank mit gehaltener Shift-Taste zu starten. Um die Ribbons dauerhaft wieder einzublenden unter Datei --> Optionen --> Aktuelle Datenbank den Eintrag "unsichtbar" bei "Name des Menübandes" zu löschen oder durch den Namen eines anderen konfigurierten Ribbons zu ersetzen.
_________________
wenn Euch die Umsetzung der Lösung zu mühseelig ist, findet sich hier im Forum per PN bestimmt auch jemand, der das für einen geringen Obulus macht Smile
derArb
getting better


Verfasst am:
13. Dez 2011, 20:59
Rufname: derArb
Wohnort: Berlin


AW: Ribbons in Access 2010 komplett ausblenden - AW: Ribbons in Access 2010 komplett ausblenden

Nach oben
       Version: Office 2010

Hallo,
@redround: Danke für den Tip. Werde es mal in Acc2010 ausprobieren.

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Willi Wipp
Moderator


Verfasst am:
14. Dez 2011, 06:09
Rufname:
Wohnort: Raum Wiesbaden

Re: Ribbons in Access 2010 komplett ausblenden - Re: Ribbons in Access 2010 komplett ausblenden

Nach oben
       Version: Office 2010

alternative Formatierung
Code:
Option Compare Database
Option Explicit

Public Sub makeInvisibleRibbon()
    ' ----------------------------------------------------
    ' Ermitteln, ob Tabelle USysRibbons schon angelegt ist
    ' ----------------------------------------------------
    If DCount("Name", "MSysObjects", "Name='USysRibbons'") = 0 Then
        createUSysRibbons
    End If
    ' -----------------------------------------
    ' Prüfen, ob bereits eine Ribbon-Definiton
    ' mit dem Namen "unsichtbar" angelegt wurde
    ' -----------------------------------------
    createRibbonXLM
    ' ---------------------------------
    ' "unsichtbares" Menüband verwenden
    ' ---------------------------------
    setProperties
End Sub

Private Sub createUSysRibbons()
    ' -------------------
    ' Tabelle neu anlegen
    ' -------------------
    Dim td  As DAO.TableDef
    Dim f   As DAO.Field
    Dim pk  As DAO.Index
   
    Set td = CurrentDb.CreateTableDef
    td.Name = "USysRibbons"
    td.Attributes = 2
    ' ---------------
    ' Spalten anlegen
    ' ---------------
    Set f = td.CreateField("ID", dbLong)
    f.Attributes = dbAutoIncrField
    td.Fields.Append f
    td.Fields.Append td.CreateField("RibbonName", dbText, 255)
    td.Fields.Append td.CreateField("RibbonXml", dbMemo)
    td.Fields.Refresh
    ' --------------------------
    ' Primärschlüssel definieren
    ' --------------------------
    Set pk = td.CreateIndex("PrimaryKey")
    pk.Fields.Append pk.CreateField("Id")
    pk.Primary = True
    pk.Unique = True
    td.Indexes.Append pk
    td.Indexes.Refresh
    ' -----------------
    ' Tabelle speichern
    ' -----------------
    CurrentDb.TableDefs.Append td
    CurrentDb.TableDefs.Refresh
    Set pk = Nothing
    Set f = Nothing
    Set td = Nothing
End Sub

Private Sub createRibbonXLM()
    Dim strSQL As String
   
    If DCount("RibbonName", "USysRibbons" _
            , "RibbonName = 'unsichtbar'") = 0 Then
        strSQL = ""
        strSQL = strSQL & "INSERT INTO USysRibbons(RibbonName, RibbonXml)" _
                       & " VALUES('unsichtbar'" _
                             & ", '<customUI xmlns=""" _
                                     & "http://schemas.microsoft.com/office" _
                                                    & "/2006/01/customui"">" _
                                & vbNewLine _
                                & " <ribbon startFromScratch=""true"">" _
                                & vbNewLine & " </ribbon>" _
                                & vbNewLine & "   </customUI>')"
        CurrentDb.Execute strSQL
    End If
End Sub

Private Sub setProperties()
    Dim prop As DAO.Property
    Dim blnAllowFullMenusFound As Boolean
    Dim blnAllowBuiltInToolbarsFound  As Boolean
    Dim blnCustomRibbonIDFound As Boolean
   
    ' ----------------------------------
    ' Properties setzen, falls vorhanden
    ' ----------------------------------
    blnAllowBuiltInToolbarsFound = False
    blnAllowFullMenusFound = False
    blnCustomRibbonIDFound = False
    For Each prop In CurrentDb.Properties
        Select Case prop.Name
          Case "AllowFullMenus"
            blnAllowFullMenusFound = True
            prop.Value = False
          Case "AllowBuiltInToolbars"
            blnAllowBuiltInToolbarsFound = True
            prop.Value = False
          Case "CustomRibbonID"
            blnCustomRibbonIDFound = True
            prop.Value = "unsichtbar"
        End Select
    Next prop
    ' -----------------------------------------
    ' Prüfen, ob noch Properies benötigt werden
    ' -----------------------------------------
    If blnAllowBuiltInToolbarsFound = False Then
        Set prop = CurrentDb.CreateProperty("AllowBuiltInToolbars" _
                                          , dbBoolean, False)
        CurrentDb.Properties.Append prop
        CurrentDb.Properties.Refresh
    End If
    If blnAllowFullMenusFound = False Then
        Set prop = CurrentDb.CreateProperty("AllowFullMenus", dbBoolean _
                                          , False)
        CurrentDb.Properties.Append prop
        CurrentDb.Properties.Refresh
    End If
    If blnCustomRibbonIDFound = False Then
        Set prop = CurrentDb.CreateProperty("CustomRibbonID", dbText _
                                          , "unsichtbar")
        CurrentDb.Properties.Append prop
        CurrentDb.Properties.Refresh
    End If
End Sub
{Den Zusatz "Standard-Forum"- auf Wunsch eines einzlenen Herren entfernt by Willi Wipp}

Zuletzt bearbeitet von Willi Wipp am 07. Jan 2012, 09:04, insgesamt einmal bearbeitet
MaHumba
Office- und VBA-Kenner


Verfasst am:
24. Apr 2013, 16:03
Rufname:


AW: Ribbons in Access 2010 komplett ausblenden - AW: Ribbons in Access 2010 komplett ausblenden

Nach oben
       Version: Office 2010

Servus zusammen,

ich bin nicht sicher ob ich das Problem richtig verstanden habe, aber ginge denn diese Lösung nicht auch?
Code:
    DoCmd.ShowToolbar "Ribbon", acToolbarNo
Und wenn ich die Funktionen weiterhin haben möchte, aber die Breite der Ribbons mich stört, kann ich sie auch minimieren.

Oder habe ich da etwas nicht verstanden?

_________________
Beste Grüße
MaHumba
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage aus früherer Access Version bringt in 2010 Fehler 6 Asphalttiger 620 06. März 2012, 18:01
JMalberg Abfrage aus früherer Access Version bringt in 2010 Fehler
Keine neuen Beiträge Access Tabellen & Abfragen: Access Abfrage funktioniert nicht mehr in Access 2010 2 tipa81 1344 13. Jan 2012, 08:18
tipa81 Access Abfrage funktioniert nicht mehr in Access 2010
Keine neuen Beiträge Access Tabellen & Abfragen: ACCESS 2010: Eingabe beschränkt trotz Felddatentyp Memo 4 traktor2 1142 06. Jan 2012, 12:03
traktor2 ACCESS 2010: Eingabe beschränkt trotz Felddatentyp Memo
Keine neuen Beiträge Access Tabellen & Abfragen: Feld für Zwischenberechnungen im Datenblatt ausblenden?? 2 atze87 283 09. Dez 2011, 08:45
Gast Feld für Zwischenberechnungen im Datenblatt ausblenden??
Keine neuen Beiträge Access Tabellen & Abfragen: Access 2010 Datenübernahme aus vorhandener Tabelle 3 mccosmo 1021 22. Sep 2011, 13:10
Marmeladenglas Access 2010 Datenübernahme aus vorhandener Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Datumsabfrage mit Access 2010 Runtime 6 Blaulicht02 2061 08. Sep 2011, 08:41
Blaulicht02 Datumsabfrage mit Access 2010 Runtime
Keine neuen Beiträge Access Tabellen & Abfragen: Datensätze Zeitraum 2010 auswerten über Timestamp 3 Orti 686 30. Mai 2011, 19:54
MissPh! Datensätze Zeitraum 2010 auswerten über Timestamp
Keine neuen Beiträge Access Tabellen & Abfragen: Importieren von CSV Dateien per Makro Access 2010 1 Ticha 4368 19. Apr 2011, 18:20
kyron9000 Importieren von CSV Dateien per Makro Access 2010
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage sortieren unter Access 2010 1 markus20 2045 01. Feb 2011, 19:28
KlausMz Abfrage sortieren unter Access 2010
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage Spalte ausblenden 1 Willi000001 280 15. Nov 2010, 20:29
Gast Abfrage Spalte ausblenden
Keine neuen Beiträge Access Tabellen & Abfragen: Count richtig verwenden? Access 2007/2010 1 Sunn 2993 22. Mai 2010, 16:35
Nouba Count richtig verwenden? Access 2007/2010
Keine neuen Beiträge Access Tabellen & Abfragen: Feldinhalt ein-/ausblenden (wenn dann sonst Fkt in Abfrage) 13 Riza 2536 15. Okt 2009, 17:33
Riza Feldinhalt ein-/ausblenden (wenn dann sonst Fkt in Abfrage)
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA