Access - Web Browser

   
Vista:

Web Browser

Publicado por felix (183 intervenciones) el 16/09/2007 02:26:14
wenas mi problema de hoy es que tengo un Web Browser y cuando accedo a una direccion web crea un espacio de carga una mas que otras, el problema en si es que al abrirse incorporo el codigo en un cuadro memo y lo despiezo para sustraer datos de la pag web pero como access continua con la ejecucion del codigo o ejecucion de la funcion no da tiempo a cargar la pag web. mi pregunta es como lo haria para que access espere que cargue la pag web antes de continuar con el siguiente codigo?

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

RE:Web Browser

Publicado por Chea (1015 intervenciones) el 16/09/2007 14:48:24
Ahora no recuerdo el nombre, pero me suena que el Webbrowser tenía eventos para saber cuándo se había cargardo por completo una página. Sería cuestión de controlar ese evento y esperar a que se completen los datos.

Para ver cuál es el evento, referencia el WebBrowser y búscalo en el examinador de objetos o, mejor, dimensiónalo en una variable WithEvents.

Para esperar a que se produzca el evento, habría primero que dimensionar una variable como pública para que fuera accesible desde distintos procedimientos y, en el código que llama al webbrowser hacer un bucle en el que metemos un DoEvents y y una comprobación de la variable pública:

bVariablePublica = False
Do
doEvents
if bVariablePublica = true then
Exit do
endif
Loop

Tampoco estaría mal meter dentro del bucle un contador para buscarle una salida si se retrasa demasiado el evento.

Saludos
José Bengoechea Ibaceta
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

RE:Web Browser

Publicado por Enrique (1299 intervenciones) el 16/09/2007 20:49:52
Hola Félix:
Parece que el Control ActiveX WebBrowser se te atraviesa un poco y la verdad es que tiene su tarea. Prueba con este par de Procedimientos de Evento:

Private Sub Form_Load()
WB.Navigate "http://www.terra.com"
End Sub

Private Sub WB_DocumentComplete(ByVal PagCompleta As Object, URL As Variant)
If PagCompleta Is WB.Object Then
MsgBox "La Página se ha cargado completamente.", vbInformation, "Página Lista"
End If
End Sub

WB sería el nombre que le hemos dado al Control WebBrowser.

Como verás, cuando la carga de la página web se ha completado totalmente, aparece el cuadro MsgBox, por lo cual, en su lugar es donde tienes que poner tu código para asegurarte de que sólo se ejecute después.

Saludos
Enrique
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

RE:Web Browser

Publicado por felix (183 intervenciones) el 17/09/2007 00:12:46
Mil gracias, soys muy amables a sacarme de este embrollo, os lo agradezco muchisimo.
es cierto que me esta dando mucha guerra el web browser, pero ahi estamos duro con el, jajaja

Saludos cordiales
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