Visual Basic - Alterar la propiedad de un botón del cual su nombre está en una variable tipo string

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Alterar la propiedad de un botón del cual su nombre está en una variable tipo string

Publicado por Freddy (2 intervenciones) el 10/07/2017 08:04:10
Tengo una duda la cual les remito para contar por favor con sus colaboraciones, en visual basic 6 requiero que alguno de los veinte botones que tengo los cuales se llaman BotonZ1 , BotonZ2, …, BotonZ20 alteren su propiedad .caption lo cual es fácil si fuese la instrucción directa, sin embargo lo requiero efectuar con base a una variable tipo string que armo con el nombre del botón:

Ejemplo
Dim numero As Integer = 2
BotonZ & (numero).Caption =”Responsable”

Obviamente esta instrucción no sirve sin embargo la detallo de esta manera para hacerme entender.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Alterar la propiedad de un botón del cual su nombre está en una variable tipo string

Publicado por Antoni Masana (558 intervenciones) el 10/07/2017 12:18:24
En VB6 tienes una propiedad que se llama Index y te permite crear una tabla de objetos o mejor dicho tratar varios objetos del mismo tipo coma tabla o array o matriz de controles

La instrucción seria: BotonZ(numero).Caption = "Responable)

y tendrias un solo evento para todos los botones, pero puedes saver cual a activado el evento porque tiene un parámetro que te dice el indice.

1
2
3
Private Sub BotonZ_Click(Index As Integer)
 
End Sub

Hay otra forma de hacerlo pero se usa en VBA o versiones anteriores que no tiene esta propiedad.

Te adjunto un ejemplo. Mira el formulario y la macro del primer boton
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Alterar la propiedad de un botón del cual su nombre está en una variable tipo string

Publicado por Freddy (2 intervenciones) el 10/07/2017 15:15:28
Buen día gracias por valiosa respuesta Antoni, procederé a buscar la información concerniente a la propiedad Index para ver si resuelve mi problema, el ejemplo enviado no lo pude abrir debido a que no cuenta con macros ni codificación en el mismo.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Alterar la propiedad de un botón del cual su nombre está en una variable tipo string

Publicado por Antoni Masana (558 intervenciones) el 10/07/2017 22:04:45
Tienes que ir a la pestaña Programador o Desarrolador y selecciona el botón Visual Basic o en macros pones en nombre a una macro y selecciona crear y entras en el entorno de programación. Busca el Formulario en UserForrm1.

Te pongo el código para que lo veas pero lo bueno seria probarlo para ver que hace:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub CommandButton1_Click()
    Dim fila As Integer
    'por luismondelo
    fila = 1
    For Each ctrl In Me.Controls
        If TypeName(ctrl) = "TextBox" Then
            Sheets(1).Cells(fila, 1).Value = ctrl.Value
            fila = fila + 1
            MsgBox ctrl.Name
            MsgBox ctrl.Left
            MsgBox ctrl.Top
            MsgBox ctrl.Width
 
        End If
    Next
End Sub
 
Private Sub CommandButton2_Click()
    fila = 1
    Dim o As OLEObject
    For Each o In Worksheets(1).OLEObjects
        If Left(o.Name, 3) = "Tex" Then
            x = o.Index
            valor = ActiveSheet.OLEObjects("TextBox" & x).Object.Text
            Cells(fila, 1).Value = valor
            fila = fila + 1
        End If
    Next
End Sub

El primer botón funciona por que lo he probado, revisa los objetos en el formulario:

Funcionamiento: Llenas los cuatro TextBox pulsas el botón y coloca el contenido en las celdas del A1 al A4

El segundo boto hace lo mismo + o - pero busca los objetos en la Hoja.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar