如何在办公室中添加组合按钮/下拉(请参见下文)。最好使用代码。

alt text

更新: 如果有帮助,则不需要代码。

有帮助吗?

解决方案

您可以根据以下ActiveX控件来做到这一点:

  • Microsoft Imagelist Control,版本6
  • Microsoft ImageCombox Control,版本6

手动,您可以从[控制工具箱]菜单栏中选择“更多控件...”,然后双击上述控件以将其放在表格上。将Combobox定位在您想要的位置,而无视成像符的位置,仅在设计模式下才能看到。到现在为止,您有两个嵌入式节奏

  • Imagelist1
  • Imagecombo1

两个组件的插入还创建了... System32 mscomctl32.ocx的引用。

那么你

  1. 手动将图标(GIF,BMP等)添加到图像列表
  2. 手动将组合的成像属性设置为“ Imagelist1”
  3. 手动将组合的自动加载属性设置为true

到目前为止,您有一个具有错误但没有图标的组合。

然后您执行此代码

Sub FillCombo()
Dim SH As Worksheet, OO As OLEObjects, Idx As Integer

    Set SH = ActiveSheet
    Set OO = SH.OLEObjects


    With OO("ImageCombo1").Object
        .ComboItems.Clear
        For Idx = 1 To OO("ImageList1").Object.ListImages.Count
            .ComboItems.Add , , , Idx
        Next Idx
    End With

End Sub

我已经努力通过VBA创建对象,但是Imagecombo在创建时的行为似乎有所不同

Set SH = ActiveSheet
Set OO = SH.OLEObjects
OO.Add "MSComctlLib.ImageComboCtl.2"
' .... etc ....

组合是创建的,但是无论我做什么,都不会显示下拉箭头,但总的来说,调试器显示所有ListView元素均已整齐。许多同事似乎在Activex上有问题,网上有大量发布。

进一步阅读 这里

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top