Establecer el ancho de la lista de Drop-Down de un cuadro combinado

En el ejemplo siguiente se utiliza un control SpinButton para establecer el ancho de la lista desplegable de un control ComboBox. Para mostrar la lista, el usuario debe cambiar el valor del control SpinButton y hacer clic en la flecha desplegable del control ComboBox.

Para utilizar este ejemplo, copie el código en el Editor de secuencias de comandos de un formulario. Para ejecutar el código debe abrir el formulario con el fin de que se produzca el evento Open. Asegúrese de que el formulario contiene:

  • Un control ComboBox denominado ComboBox1.

  • Un control SpinButton denominado SpinButton1, dependiente de un campo numérico personalizado denominado SpinButtonValue.

  • Un control Label denominado Label1.

Sub Item_Open() 
 Set ComboBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ComboBox1") 
 Set SpinButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("SpinButton1") 
 Set Label1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label1") 
 
 For i = 1 To 20 
 ComboBox1.AddItem "Choice " & (ComboBox1.ListCount + 1) 
 Next 
 SpinButton1.Min = 0 
 SpinButton1.Max = 130 
 
 'convert listwidth value from '122 pt' to an integer 
 intpos = instr(combobox1.listwidth," ") 
 intwidth = left(combobox1.listwidth,intpos-1) 
 SpinButton1.Value = intwidth 
 SpinButton1.SmallChange = 5 
 Label1.Caption = "ListWidth = " & SpinButton1.Value 
End Sub 
 
Sub Item_CustomPropertyChange(byval pname) 
 If pname = "SpinButtonValue" Then 
 Set ComboBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ComboBox1") 
 Set SpinButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("SpinButton1") 
 Set Label1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label1") 
 
 ComboBox1.ListWidth = SpinButton1.Value 
 Label1.Caption = "ListWidth = " & SpinButton1.Value 
 End If 
End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.