2017-10-12 72 views
1

我有此代码在Word(2010)中创建临时命令栏。 Excel中的结果相同。它创造了酒吧。我知道,因为我可以访问它,阅读它的属性并删除它。但我无法使其可见。它应该漂浮在我的页面顶部附近,但它不会。有任何想法吗?无法使CommandBar可见

Sub AddCommandbar() 
    Const CmdName As String = "Test Bar" 

    Dim MyBar As CommandBar 
    Dim MyCtl As CommandBarControl 
    Dim MyList() As String 
    Dim Cmd As CommandBar 
    Dim i As Integer 

    ' delete the existing 
    For Each Cmd In CommandBars 
     If Cmd.Name = CmdName Then 
      Cmd.Delete 
      Debug.Print CmdName; " deleted" 
      Exit For 
     End If 
    Next Cmd 

    Exit Sub 
    Set MyBar = CommandBars.Add(Name:=CmdName, _ 
           Position:=msoBarFloating, _ 
           MenuBar:=True, _ 
           Temporary:=True) 
    Set MyCtl = CommandBars(CmdName).Controls.Add(_ 
           Type:=msoControlDropdown, _ 
           Before:=1) 
    MyList = Split("One,Two,Three", ",") 
    With MyCtl 
     .Caption = "Select a number" 
     .Style = msoComboLabel 
     .BeginGroup = True 
     For i = 0 To UBound(MyList) 
      .AddItem MyList(i) 
     Next i 
     .ListIndex = 1 
    End With 
    CommandBars(CmdName).Visible = True 
End Sub 

作为一个方面的问题,MenuBar:=True假定与所添加的,以取代现有。它没有。酒吧的几个实例被创建。他们可以被访问和删除,直到所有消失。

+0

我假设代码中间的'Exit Sub'就在那里,而你正在测试的东西,而不是当你真正使用这段代码的时候。正确? – YowE3K

+1

它在加载项选项卡上不可见?假设办公室2007+ –

+0

因此,顶部,底部和浮动的位置似乎将其添加到加载项选项卡。左,右工作,但我根本找不到它。并且MenuBar和PopUp给出了“运行时错误'5':无效的过程调用或参数”错误。 – YowE3K

回答

3

自从在Office 2007中引入功能区菜单后,唯一可以显示工具栏的位置位于“加载项”功能区选项卡上。