** Manejar Html con visual basic 6.0 **

Tambien llamado optmización de procesos, esto es por ejemplo, el poder llenar formas de registro web automaticamente mediante un programa, para esto se necesita acceder a la página y establecer comunicación con el html.

Un problema asi surgio en el trabajo y se pidio que la solución fuera por medio de visual basic 6.0 . Este ejemplo que pongo solo muestra como llenar un input, seleccionar la opción de un combox y groupbox.

Yo creia que era muy complicado, pero lo unico que se necesita es saber el nombre de los tags de la página que necesitas usar.

Pasos:

IMPORTANTE: SI TIENES EL IE 7 NECESITAS DESINSTALARLO, SI NO TE MARCARA UNA ERROR EN LA DLL IEFRAME.DLL

1.-Lo primero que necesitamos es abrir un nuevo proyecto en visual basic, llamalo como quieras.

2.-Agregar el componente «Microsoft Internet Controls» haciendo clic derecho en la barra de heramientas izquierda como se muestra en la figura :

1.jpg

2.jpg

Una vez realizado este paso nos aparecera un pequeñp icono con la forma de un mundo, este es el web browser, hacemos clic en el y lo arrastramos a la hoja de trabajo, ademas insertaremos otros 2 botones como se muestra en la siguiente imagen:

3.jpg

En este momento tenemos un pequeño navegador, el siguiente paso es hacer doble click en el botón de «abrir página» y pondremos el siguiente código:

Private Sub Command1_Click()
WebBrowser1.Navigate «http:——————-/try_area.jsp»
End Sub

Obviamente yo tengo mi página alojada en un servidor, el código de mi html es el siguiente:

cod_html1.jpg

4.jpg

Ahora viene lo bueno ,el código para poder hacer «set» en los tags de html:

Probamos nuestra aplicación y al hacer clic en «Abrir página» el navegador deberá mostrarse como en la imagen

p1.jpg

Ahora vamos con el segundo botón, hacemos doble click en el y ponemos el siguiente código:

Set doc = WebBrowser1.Document

Set var_input = doc.getElementById(«nom»)
var_input.Value = «aumakua input»

Set var_radio = doc.getElementById(«ra_na»)
var_radio.Checked = «true»

Set var_select = doc.getElementById(«select»)
var_select.Value = «2»

Set var_but = doc.getElementById(«b_sutmit»)
var_but.Click

 

Lo que se hace con Set doc=webbrowser1.document es asignarle al objeto la página para poder manejarla, con los doc.getElementById se hace la busqueda de los campos que contengan ese nombre, pero como veran no hay «id» en el html por lo cual por fin una mamada de microsoft es utíl.

Como pueden ver solo se trata de saber los atributos de cada tag de html y mandarlo a llamar con su valor correspondiente.

Y ya por último solo mencionar el elemento «b_sutmit» , asi como se llama al input submit del html, con la opción «click» este hace el post.

El código fina se vería algo así:

6.jpg

Y ya funcionando se podrá ver asi:

7.jpg

18 comentarios en “** Manejar Html con visual basic 6.0 **

  1. Hola a todos, ¿es posible obtener el valor del contenido de un span?

  2. Obsequia un programa de punto de venta (TPV) con publicidad de tu negocio y listas de precios a todos Tus clientes, Distribuidores y re-vendedores. Gratis

  3. Hola, esta información es muy útil. Pero tengo una duda. Estoy intentando hacer una función que recursivamente va moviéndose por el árbol document de una página web con la idea de ir haciendo quieries y quiero pasarle el webbrowser.document como argumento y los conjuntos de nodos que vaya sacando también como argumento. ¿sabéis a qué tipo pertenece webbrowser.document para poder declarar el tipo del argumento? No quiero usar el variant porque es demasiado flexible y genérico. He probado con varios pero no acierto a encontrarlo.

    O por ejemplo, también, las colecciones de nodos o los nodos, ¿de qué tipo son? He visto que con object funciona, pero estoy intentado localizar tipos de datos específicos como los que existen para el parser de xml como xmldomnode y xmldomnodelist y no hay quien los encuentre.

    Me resulta extraño que siendo objetos tan parecidos no existan tipos equivalentes. Qué raro.

    Un saludo.

  4. Hola. quiero mandar parametros desde visual basic a una pagina para extraer datos, mi pregusnta como mando hago para marcar a un objeto rar:
    rad[0]
    rad[1]
    rad[2]
    rad[3]
    rad[4]
    quiero marcar el rad[2] trate de la siguiente forma pero me sale un error gracias de antemano por la respuesta

    Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)

    Set doc = WebBrowser1.Document
    Set var_radio = doc.getElementsByTagName(«rad[2]»)
    var_radio.Checked = True

    End Sub

  5. Como manejaria Visual Basic con Frames y códigos de Imagen?

    Les dejo el link de la Sunat, probemos con el RUC: 20463324311

  6. ahhh no me salio la linea del tag…. como le hago?

  7. oye podrias ayudarme en algo….?

    bueno lo que pasa es ke en la web que quiero «automatizar» hay un campo que es el campo en el que se pone un codigo de verificacion para autenticar al usuario … mejor dicho el tag es este:

      31716

    y yo puedo acceder al tag sin ningun problema gracias a lo que explicaste, pero me preguntaba si era posible de algun modo acceder a este numero (31716) que esta justo despues del tag

    y pues no siendo mas solo me keda reiterarte de verdad mis agradecimientos!

    espero puedas colaborarme

  8. Amigo k informacion tan util no te imaginas cuanto te lo agradesco!!!!!!!!

  9. Esa no me la sabia, gracias CesarTkgo69 y RDORlando!

  10. Amigo, no es necesario borrar el IE7.
    Te metes al registro de windows
    en Inicio > Ejecutar > regedit
    Y debes buscar en el registro:
    ieframe.dll\1
    Cuando lo encuentres dale doble click
    y borra: \1
    Solucionado

  11. El método getElementById es adecuado para operar sobre un elemento en específico, sin embargo, en ocasiones se necesita trabajar sobre un grupo de elementos por lo que en este caso puede utilizarse el método getElementsByTagName. Este retorna todos los elementos de un mismo tipo. Devuelve una matriz de datos.

  12. Ni idea mi estimado no lo he probado asi, pero bueno que necesitas o intentas hacer?

  13. Eso digo, si no tiene Name? La cosa es que jale sin ID y Name , digamos no hay ID y jala con Name, pero hay tags ke no tienen ni Name, ahi es el problema. Fijate en este codigo:

    input type=»submit» value=»Send»

    Pues fijate que no hay en tag parametro Name. Y de ahi es imposible jalar funcion getelementById, entonces me pregunto, en este caso, que es lo que deberia poner ,cuando no contiene Name el tag y directo va Value??

  14. Gracias a que el ie6 no sigue estandares (por fin un puto bug es util) no hay problema si no tiene el ID del tag, con el simplemente nombre jala, yo me preguntaba lo mismo pero no hubo problema si lo jalaba solo por el name.

  15. me refiero a siguiente codigo:

    input type=»submit» value=»Enviar»

    y eso es diferente a

    input type=»submit» name=»submit» value=»Enviar»

    entonces como le harias para ejecutar submit buton si parametro ID o Name digo el primer codigo?

  16. Hola. Tengo una pregunta, eso esta hecho bien ya lo sabia, pero si el parametro ID o parametro Name no esta presente como vas a usar controlElemendtId o hay otro como Getatribute?

    ejemplo, como ejecutarias submit boton asi:

    sin que tenga ID y parametro Name () lo que hace funcionar con «getElementById»? Gracias

Deja un comentario