vba - 无法使 CommandBar 可见

标签 vba excel ms-word

我有这段代码可以在 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应该用添加的替换现有的。它没有。创建了几个条形图实例。它们可以被访问和删除,直到全部消失。

最佳答案

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

关于vba - 无法使 CommandBar 可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46700672/

相关文章:

excel - 将选定的单元格合并为一个带逗号的单元格

vba - 如何在 VBA 的函数子例程中添加错误消息

vba - 从具有合并单元格的表格中删除范围

按列卡住 Pane 的Vba代码

vba - Excel 2007 宏移动重复项

excel - 编辑单元格时按下按键时是否会触发任何事件?

excel - 合并每隔一行Excel

excel - 如何解决 VBA 和 Powershell 之间的这种特殊字符编码问题?

python - 通过pywin32将pandas数据框写入word文档表

java - Apache POI - Word (docx) 文档中的多列