打印本文 打印本文  关闭窗口 关闭窗口  
用VBA代码处理菜单和工具栏之三
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:54:47  文章录入:杜斌  责任编辑:杜斌

隐藏和显示菜单和工具栏

  可以用CommandBar对象的Visible属性来隐藏和显示工具栏,当你显示一个工具栏的时候,你可以用Position属性来指定工具栏应该显示在屏幕的哪一个地方,例如,下面的一段程序需要三个参数,strCBarName表示要显示或隐藏的工具栏名称,blnVisible表示是隐藏还是要显示,可选参数lngPosition表示工具栏显示的位置,默认是显示在access窗口的上方,也可以显示在左、右或者是下方。

Function CBToolbarShow(strCBarName As String, _

                        blnVisible As Boolean, _

                        Optional lngPosition As Long = msoBarTop) As Boolean

    ' This procedure displays or hides the command bar specified in the

    ' strCBarName argument according to the value of the blnVisible

    ' argument. The optional lngPosition argument specifies where the

    ' command bar will appear on the screen.

      Dim cbrCmdBar As CommandBar

    On Error GoTo CBToolbarShow_Err

     Set cbrCmdBar = Application.CommandBars(strCBarName)

    ' Show only toolbars.

    If cbrCmdBar.Type > msoBarTypeNormal Then

        CBToolbarShow = False

        Exit Function

    End If

    ' If Position argument is invalid, set to the default

    ' msoBarTop position.

    If lngPosition < msoBarLeft Or lngPosition > msoBarMenuBar Then

        lngPosition = msoBarTop

    End If

   With cbrCmdBar

        .Visible = blnVisible

        .Position = lngPosition

    End With

   CBToolbarShow = True

CBToolbarShow_End:

    Exit Function

CBToolbarShow_Err:

    CBToolbarShow = False

    Resume CBToolbarShow_End

End Function

要显示一个菜单栏,可以参考以下的一个函数来实现:

Function CBMenuBarShow(strCBarName As String) As Boolean

' 本函数可以显示一个指定的菜单栏,如果指定的菜单栏不存在或者是非法的名称,将返回FALSE

   Dim cbrCBarMenu As CommandBar

     On Error GoTo CBMenuBarShow_Err

    Set cbrCBarMenu = Application.CommandBars(strCBarName)

    If cbrCBarMenu.Type <> msoBarTypeMenuBar Then

        CBMenuBarShow = False

        Exit Function

    End If

    With cbrCBarMenu

        .Visible = True

    End With

    CBMenuBarShow = True

CBMenuBarShow_End:

    Exit Function

CBMenuBarShow_Err:

    CBMenuBarShow = False

    Resume CBMenuBarShow_End

End Function

调用方法:? CBMenuBarShow ("Menu Bar")’显示已被隐藏的主菜单。

打印本文 打印本文  关闭窗口 关闭窗口