Combinación de botones / desplegable en la oficina
-
29-09-2019 - |
Pregunta
¿Cómo agrego un botón de combinación / desplegable en el cargo (ver más abajo). Preferiblemente con el código.
Actualización:. Si se ayuda a cualquiera, no se necesita código
Solución
Puede hacerlo, en base a los siguientes controles ActiveX:
- Microsoft ImageList Control, versión 6
- Microsoft ImageComboBox Control, versión 6
manualmente, selecciona "Más controles ..." en el [Cuadro de controles] barra de menú y haga doble clic en los controles mencionados para conseguir que en su hoja. Posicionar el cuadro combinado donde quiera que sea, e ignorar la posición del ImageList, es visible sólo en modo de diseño. Por ahora se han nombrado dos contros incrustados
- ImageList1
- ImageCombo1
La inserción de los dos componentes también crea una referencia a ... \ system32 \ MSCOMCTL32.OCX.
A continuación,
- añadir manualmente iconos (GIF, BMP, etc.) a la lista de imágenes
- ajustar manualmente la propiedad ImageList del Combo a "ImageList1"
- ajustar manualmente la propiedad de carga automática del Combo a True
Por ahora usted tiene un combo con el error, pero no hay iconos.
A continuación, se ejecuta el código
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
He tratado de crear los objetos de VBA, pero el ImageCombo parece comportarse diferente cuando se creó como
Set SH = ActiveSheet
Set OO = SH.OLEObjects
OO.Add "MSComctlLib.ImageComboCtl.2"
' .... etc ....
Se crea el combo, pero la flecha de la derecha no se muestra, no importa lo que hago, acabase espectáculos depurador que todos los elementos de ListView están perfectamente unidas. Un montón de colegas parecen tener problemas con eso ActiveX, hay un montón de publicación en la red.