¿Te atreves a demostrar lo que sabes resolviendo alguno de estos
temas abiertos/no resueltos?

Selecionar IE.docum...
 
Compartir:
Avisos
Vaciar todo

Selecionar IE.document.getElements ... selectedIndex

jg2021
(@jg2021)
Nuevo miembro Registered

Estoy trabajando con VBA para obtener informacion de un portal web, necesito seleccionar un dato de una lista desplegable (opcion 3), con la siguiente linea de codigo si se "selecciona" la opcion:

IE.document.getElementsByClassname("form-control")(1).selectedIndex = 3

Pero en el portal no se ejecuta el cambio al realizar dicha seleccion, que es lo que falta a mi codigo para que la seleccion sea completa??

 

inspector elementos;
<select class="form-control ng-pristine ng-valid ng-touched" id="field_tipoDocumento" name="tipoDocumento" required="">
<option value="0: null">Seleccione tipo documento</option>
<!---->
<option value="1: 1">ORDEN DE COMPRA</option>
<option value="2: 4">MULTIORDEN DE COMPRA</option>
<option value="3: 5">ORDEN DE COMPRA POR RECEPCIÓN</option>
<option value="4: 6">NOTA DE CRÉDITO</option>
<option value="5: 2">ACUERDO DE COMPRA</option>
<option value="6: 3">ACUERDO DE COMPRA POR RECEPCIÓN</option>
</select>

De antemano agradezco el apoyo,

Citar
Topic starter Respondido : 01/03/2022 5:27 pm
Etiquetas del debate
RET
 RET
(@ret)
Miembro Admin

@jg2021,

Con solo esas pistas es complicado saber cual es el problema. Al menos, en pantalla es el cambio?

Prueba con esto:

 

Dim objControl As Object

Set objControl = objIE.Document.getElementById("field_tipoDocumento")

Do Until Not (objControl Is Nothing)
Set objControl = objIE.Document.getElementById("field_tipoDocumento")
DoEvents
Loop
objControl .Value=3

Set objControl =Nothing

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 01/03/2022 9:49 pm
jg2021
(@jg2021)
Nuevo miembro Registered

@ret

 

No me fue posible dar con la solucion con el codigo que me envias, me marca el error; "error 424 en tiempo de ejecucion"

Lo modifique segun lo muestro a continuacion, pero llegue al mismo resultado, "la opcion deseada si se selecciona en pantalla, pero la pagina no se actualiza con los cambios esperados, dichos cambios solo se presentan cuando se utiliza el mouse.

 

Dim objControl As Object

Set objControl = objIE.document.getElementsByClassname("form-control")(1) ' elimine la palabra obj , no pude usar el "ID" asi que utilizo Classname

objControl.selectedIndex = 3 ' intercambie la palabra value por selectedindex

 

Utilice "imacros" y me presenta la siguiente linea de codigo;

TAG POS=1 TYPE=SELECT FORM=NAME:adendaForm ATTR=ID:field_tipoDocumento CONTENT=%3:<SP>5

Es posible que se deba seleccionar de esta forma: 3: 5? realice varios intentos, solo que no doy con la solucion

 

ResponderCitar
Topic starter Respondido : 08/03/2022 9:56 pm
RET
 RET
(@ret)
Miembro Admin

@jg2021,

 

Ese problema que dices me ha pasado en una situación similar. en mi caso, seleccionabas un rango de fechas para obtener los datos. Conseguía poner las fechas en los controles pero eso no forzaba el código necesario para obtener los datos y después exportarlos.

Al final, lo "resolví" creando un script para hacer click en una zona de la página vacía pero que forzaba la ejecución del código necesario. Después de introducir los datos, llamaba a ese script para hacer el click.

Siento no poder darte otra solución. Si la encuentras, sería interesante que la compartieses.

 

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 09/03/2022 7:33 am

Dejar una respuesta

Nombre del autor

Correo electrónico del autor

Título *

 
Vista previa 0 revisiones Guardado