我對Access窗體有以下代碼。看起來好像SendKeys
與我的 NumLock關鍵在於打開和關閉表單時打開和關閉它。SendKeys通過訪問形式的VBA代碼搞亂了我的NumLock密鑰
由於完全有效的原因,我不想進入,我真的不想完全隱藏功能區(我希望下拉菜單仍然可以訪問),所以DoCmd.ShowToolbar
命令不是我的首選方式。
有沒有人有任何建議,我可以如何修改下面的代碼來完成我想要使用SendKeys
命令?
使用Access 2007,以便命令
CommandBars.ExecuteMso "MinimizeRibbon"
沒有提供給我。
順便說一下,數據庫將被分發,所以解決方案必須包含在數據庫中。
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
查看http://support.microsoft.com/kb/179987/(KB179987)。這似乎是一個已知的錯誤,但我現在無法測試究竟是什麼阻止了它的發生。 – Christian 2014-09-23 08:02:33
我試圖在SendKeys命令之後立即添加DoEvents,但它沒有任何改變。對於如何使用DoEvents功能我感到非常困惑。其中一位VBA專家是否可以幫助我修改此代碼以使其正常工作? – user12059 2014-09-23 16:22:30