
vbscript: ID de objeto como variable
Publicado por Borja (2 intervenciones) el 01/02/2017 12:33:07
Buenos días a todos:
Estoy trabajando sobre una VIsta, dentro de un software SCADA, que emplea lenguaje VBscript; y mi duda es la siguiente:
Tengo varias cajas de edición (40 en total):

Con estas propiedades:

El ID de estos objetos sigue un orden correlativo: txt_OP1, txt_OP2, txt_OP3,... txt_OP40.
El problema es el siguiente:
Cuando pulso un botón, quiero interactuar con las cajas de edición, una por una. Por ejemplo, quiero saber si están vacías o llenas. Puedo ir una por una, aplicando esa función de la siguiente manera
(...)
Call FUNCION_VACIAS_LLENAS(txt_OP1.Text)
Call FUNCION_VACIAS_LLENAS(txt_OP2.Text)
Call FUNCION_VACIAS_LLENAS(txt_OP3.Text)
...
Call FUNCION_VACIAS_LLENAS(txt_OP40.Text)
(...)
El caso es que, ya que los ID de esos objetos siguen un orden correlativo, me gustaría poder aplicar esta función de ejemplo dentro de un bucle; como podría ser así:
For i = 1 To 40
Call FUNCION_VACIAS_LLENAS(txt_OP&i.Text)
Next
(Supongo que gramaticalmente estas 3 líneas de código seran incorrectas).
¿Es esto posible de alguna manera en VBscript?¿Puedo poner el ID de un objeto como una variable para que funcione dentro de un bucle simple?
A continuación os dejo un ejemplo de código que NO FUNCIONA:


Muchas gracias a todos por su colaboración y enhorabuena por el foro.
Un saludo,
Estoy trabajando sobre una VIsta, dentro de un software SCADA, que emplea lenguaje VBscript; y mi duda es la siguiente:
Tengo varias cajas de edición (40 en total):
Con estas propiedades:
El ID de estos objetos sigue un orden correlativo: txt_OP1, txt_OP2, txt_OP3,... txt_OP40.
El problema es el siguiente:
Cuando pulso un botón, quiero interactuar con las cajas de edición, una por una. Por ejemplo, quiero saber si están vacías o llenas. Puedo ir una por una, aplicando esa función de la siguiente manera
(...)
Call FUNCION_VACIAS_LLENAS(txt_OP1.Text)
Call FUNCION_VACIAS_LLENAS(txt_OP2.Text)
Call FUNCION_VACIAS_LLENAS(txt_OP3.Text)
...
Call FUNCION_VACIAS_LLENAS(txt_OP40.Text)
(...)
El caso es que, ya que los ID de esos objetos siguen un orden correlativo, me gustaría poder aplicar esta función de ejemplo dentro de un bucle; como podría ser así:
For i = 1 To 40
Call FUNCION_VACIAS_LLENAS(txt_OP&i.Text)
Next
(Supongo que gramaticalmente estas 3 líneas de código seran incorrectas).
¿Es esto posible de alguna manera en VBscript?¿Puedo poner el ID de un objeto como una variable para que funcione dentro de un bucle simple?
A continuación os dejo un ejemplo de código que NO FUNCIONA:
Muchas gracias a todos por su colaboración y enhorabuena por el foro.
Un saludo,
Valora esta pregunta


0