组合按钮/下拉办公室

时间:2010-11-30 21:26:17

标签: ms-office office-2003

如何在办公室添加组合按钮/下拉菜单(见下文)。最好带代码。

alt text

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

1 个答案:

答案 0 :(得分:1)

您可以根据以下ActiveX控件执行此操作:

  • Microsoft ImageList Control,版本6
  • Microsoft ImageComboBox Control,版本6

手动,从[控件工具箱]菜单栏中选择“更多控件...”,然后双击上述控件将它们放在工作表上。将ComboBox定位在您想要的位置,并忽略ImageList的位置,它仅在设计模式下可见。到目前为止,你有两个名为

的嵌入式控制器
  • ImageList1
  • ImageCombo1

插入两个组件也会创建对... \ system32 \ MSCOMCTL32.OCX的引用。

然后你

  1. 手动将图标(GIF,BMP等)添加到图像列表
  2. 手动将Combo的ImageList属性设置为“ImageList1”
  3. 手动将Combo的AutoLoad属性设置为True
  4. 到目前为止,你有一个错误但没有图标的组合。

    然后执行此代码

    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有问题,网上有大量的帖子。

    进一步阅读here