2010-04-14 175 views
1

最近我還沒有真正的搜索過,但在過去,我搜索了高低找出一種方法來儘量減少與VBA代碼功能區。對我而言,我的大部分用戶都無法使用Access中的功能區,如果我能夠爲他們回收屏幕空間,我將非常高興。使用VBA最小化Office功能區?

我知道我可以訓練他們儘量減少它,但是......好吧......他們是用戶,而不是電腦愛好者。 :-)

回答

2

如果你的數據庫建立它打開時顯示一個特定的形式,你可以把這個代碼在窗體的open事件:

Private Sub Form_Open(Cancel As Integer) 
    Call HideRibbon 
End Sub 

這裏是HideRibbon子:

Public Sub HideRibbon() 
    'Access versions before 2007 did not have ribbon ' 
    'ignore error: ' 
    '2094, <App Name> can't find the toolbar 'Ribbon.' 
    On Error Resume Next 
    DoCmd.ShowToolbar "Ribbon", acToolbarNo 
    On Error GoTo 0 
End Sub 

編輯:我更改了HideRibbon子項以消除On Error Resume Next。它在Access 2003和2007中做我想要的。不知道在所有早期的Access版本或未來的Access版本中,SysCmd(acSysCmdAccessVer)返回的字符串值。

Public Sub HideRibbon() 
    'Access versions before 2007 did not have ribbon ' 
    If Val(SysCmd(acSysCmdAccessVer)) >= 12 Then 
     DoCmd.ShowToolbar "Ribbon", acToolbarNo 
    End If 
End Sub 
+0

這樣做,謝謝 – Icode4food 2010-04-15 12:11:30

+0

我認爲任何使用On Error Resume Next都是編程錯誤。我會檢查Access版本,所以如果版本是2007或更高版本,你只能執行命令。我的意思是,您確切知道產生錯誤的條件是什麼,並且有一種運行測試的可靠方法,可以避免產生錯誤。另外,如果生成2094以外的錯誤,它將被忽略,你永遠不會知道它。 – 2010-04-15 19:59:20

+0

@David謝謝。新的HideRibbon子是我試圖解決您提出的問題。這是「可靠的方式」嗎? – HansUp 2010-04-16 15:28:01

相關問題