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
假定与所添加的,以取代现有。它没有。酒吧的几个实例被创建。他们可以被访问和删除,直到所有消失。
我假设代码中间的'Exit Sub'就在那里,而你正在测试的东西,而不是当你真正使用这段代码的时候。正确? – YowE3K
它在加载项选项卡上不可见?假设办公室2007+ –
因此,顶部,底部和浮动的位置似乎将其添加到加载项选项卡。左,右工作,但我根本找不到它。并且MenuBar和PopUp给出了“运行时错误'5':无效的过程调用或参数”错误。 – YowE3K