我有这个代码在Word (2010)中创建一个临时命令栏。Excel中的结果相同。它创造了酒吧。我知道,因为我可以访问它,读取它的属性,并删除它。但我不能让它显眼。它应该漂浮在我的页面顶部附近,但它没有。有什么想法吗?
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应该用添加的内容来替换现有的内容。没有。创建了几个条形图的实例。它们可以被访问和删除,直到全部消失。
发布于 2017-10-12 06:24:59
由于在Office 2007中引入了丝带菜单,唯一可以显示工具栏的地方是在“外接程序”带状选项卡上。
https://stackoverflow.com/questions/46700672
复制相似问题