Compartir a través de


Establecer el elemento en la parte superior de una lista y el elemento que tiene el foco en la lista

En el ejemplo siguiente se identifica el primer elemento mostrado en un control ListBox y también el que tiene el foco dentro del control ListBox. El ejemplo utiliza la propiedad TopIndex para identificar el elemento del control ListBox y la propiedad ListIndex para identificar qué elemento tiene el foco. El usuario selecciona un elemento en el control ListBox. Los valores mostrados de TopIndex y ListIndex se actualizan cuando el usuario selecciona un elemento o cuando el usuario hace clic en el control CommandButton.

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 Label denominado Label1.

  • Un control TextBox denominado TextBox1.

  • Un control Label denominado Label2.

  • Un control TextBox denominado TextBox2.

  • Un control CommandButton denominado CommandButton1.

  • Un control ListBox denominado ListBox1, dependiente del campo Asunto.

Sub CommandButton1_Click() 
 Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1") 
 Set TextBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox1") 
 Set TextBox2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox2") 
 
 ListBox1.TopIndex = ListBox1.ListIndex 
 TextBox1.Text = ListBox1.TopIndex 
 TextBox2.Text = ListBox1.ListIndex 
End Sub 
 
Sub Item_PropertyChange(byval pname) 
 if pname = "Subject" then 
 Set TextBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox1") 
 Set TextBox2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox2") 
 Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1") 
 
 TextBox1.Text = ListBox1.TopIndex 
 TextBox2.Text = ListBox1.ListIndex 
 end if 
End Sub 
 
Sub Item_Open() 
 Set ListBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ListBox1") 
 Set CommandButton1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("CommandButton1") 
 Set TextBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox1") 
 Set TextBox2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("TextBox2") 
 Set Label1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label1") 
 Set Label2 = Item.GetInspector.ModifiedFormPages("P.2").Controls("Label2") 
 
 For i = 0 To 24 
 ListBox1.AddItem "Choice " & (i + 1) 
 Next 
 ListBox1.Height = 66 
 CommandButton1.Caption = "Move to top of list" 
 CommandButton1.AutoSize = True 
 CommandButton1.TakeFocusOnClick = False 
 
 Label1.Caption = "Index of top item" 
 TextBox1.Text = ListBox1.TopIndex 
 
 Label2.Caption = "Index of current item" 
 Label2.AutoSize = True 
 Label2.WordWrap = False 
 TextBox2.Text = ListBox1.ListIndex 
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.