SendKeys ist messing mit meinem NumLock-Taste per VBA-code in Access-Formular

Habe ich folgenden code für ein Access-Formular. Es scheint, als ob die SendKeys ist messing mit meinem NumLock - Taste durch ein-und ausschalten, wie ich öffnen und schließen Sie das Formular.

Aus völlig legitimen Gründen, die ich nicht wollen, in zu erhalten, die ich wirklich nicht wollen, um vollständig ausblenden des Menübands (ich will die pull-down-Menüs immer noch zugänglich), so dass die DoCmd.ShowToolbar Befehl ist nicht meine bevorzugte Art und Weise tun.

Hat jemand irgendwelche Vorschläge, wie ich kann, ändern Sie den code unten, um zu erreichen, was ich will, mit der SendKeys Befehl?

Mithilfe von Access 2007 Befehl

CommandBars.ExecuteMso "MinimizeRibbon"

ist mir nicht verfügbar.

Durch die Art und Weise, wird die Datenbank verteilt, so dass die Lösung enthalten sein muss, innerhalb der Datenbank.

Private Sub Form_Close()

' Unhide navigation pane
    DoCmd.NavigateTo "acNavigationCategoryObjectType"
    DoCmd.Maximize

' Maximize the ribbon
RibbonState = (CommandBars("Ribbon").Controls(1).Height < 75)

Select Case RibbonState
    Case True
        SendKeys "^{F1}", True
    Case False
        'Do nothing, already maximized
End Select
End Sub

Private Sub Form_Load()
' Hide navigation pane
    DoCmd.NavigateTo "acNavigationCategoryObjectType"
    DoCmd.Minimize
Debug.Print Application.CommandBars.Item("Ribbon").Height
' Minimize ribbon
RibbonState = (CommandBars("Ribbon").Controls(1).Height < 100)

Select Case RibbonState
    Case True
        'Do nothing, already minimized
    Case False
            SendKeys "^{F1}", False
End Select
End Sub
  • Werfen Sie einen Blick auf support.microsoft.com/kb/179987 (KB179987). Dies scheint ein bekannter bug, aber ich kann das nicht testen jetzt, was genau verhindert, dass es passiert.
  • Ich habe versucht, das hinzufügen DoEvents sofort nach SendKeys-Befehle, aber es änderte sich nichts. Ich war sehr verwirrt, als wie die DoEvents-Funktion. Kann man im VBA-gurus mir helfen, diesen code ändern damit es funktioniert?
InformationsquelleAutor user12059 | 2014-09-22
Schreibe einen Kommentar