日期:2009-10-19  浏览次数:20596 次

可以使用如下所示的代码测试该函数:

Public Sub TestAddComboBoxToCommandBar()

    ' 用途:测试 AddComboBoxToCommandBar 函数。

    Dim strChoices(4) As String
    
    strChoices(1) = "Vanilla"
    strChoices(2) = "Chocolate"
    strChoices(3) = "Strawberry"
    strChoices(4) = "Other"
    
    If AddComboBoxToCommandBar("Tools", "Favorite Ice Cream", _
        strChoices) = True Then
        
        MsgBox "组合框已成功添加。"
        
    Else
    
        MsgBox "未能添加组合框。"
        
    End If
    
End Sub

禁用和隐藏命令栏与命令栏控件
开发 office 解决方案时,您可能需要防止用户在与该解决方案关联的某些命令栏和命令栏控件上单击。例如,您可能需要防止用户单击“窗体”工具栏上的任何控件,以免修改您在 Microsoft word 中创建的自定义窗体。您也可能需要为给定的解决方案禁用“工具”菜单上的“宏”命令。

将命令栏或命令栏控件的 Enabled 属性设置为 False 可禁用命令栏或命令栏控件;同样,将命令栏或命令栏控件的 Enabled 属性设置为 True 可启用命令栏或命令栏控件。

将命令栏或命令栏控件的 Visible 属性设置为 False 可隐藏命令栏或命令栏控件;同样,将命令栏或命令栏控件的 Visible 属性设置为 True 可显示命令栏或命令栏控件。

要尝试此操作,请将以下代码行输入到“立即”窗口。每个代码行将切换指定的命令栏或命令栏控件的启用或可见状态。如果在 Outlook 或 Microsoft Visual Basic® Editor 中输入此代码,请务必使用 Application.ActiveExplorer 或 Application.VBE 术语。要返回到开始时的启用或可见状态,请确保将每行运行两次。

Application.CommandBars("Tools").Enabled = _
  Not Application.CommandBars("Tools").Enabled
Application.CommandBars("Tools").Controls("Macro").Enabled = _
  Not Application.CommandBars("Tools").Controls("Macro").Enabled
Application.CommandBars("Tools").controls("Macro").Visible = _
  Not Application.CommandBars("Tools").controls("Macro").Visible

定位命令栏
命令栏的 Position 属性指定命令栏在应用程序中的位置。msoBarLeft、msoBarTop、msoBarRight 和 msoBarBottom 枚举常数指定在应用程序的左边、上边、右边或下边显示命令栏。msoBarFloating 枚举常数指定命令栏不靠接到应用程序的边缘。msoBarPopup 枚举常数指定命令栏是弹出菜单。

以下函数更改所指定的命令栏的位置。

Public Function ChangeCommandBarPosition(ByVal strCommandBarName As String, _
        ByVal msoPosition As MsoBarPosition) As Boolean

    ' 用途:更改命令栏的位置。
    ' 接受:
    '   strCommandBarName:要更改位置的命令栏名称。
    ' 返回:如果命令栏移动成功,则为 Ture。
    
    On Error GoTo ChangeCommandBarPosition_Err
    
    ' 将下一行代码替换为:
    ' Application.ActiveExplorer.CommandBars.Item(strCommandBarName).Position = _
  msoPosition <- 对于 Outlook
    ' Application.VBE.CommandBars.Item(strCommandBarName).Position = _
      msoPosition <- 对于 Visual Basic Editor
    Application.CommandBars.Item(strCommandBarName).Position = msoPosition
    
ChangeCommandBarPosition_End:
    
    ChangeCommandBarPosition = True
    Exit Function
        
ChangeCommandBarPosition_Err:

    ChangeCommandBarPositi