Extraer una tabla de una web al excel con una macro

¿Nuevo en Apache OpenOffice? ¿No sabe cómo comenzar o dónde hacer su pregunta? ¡Este es el lugar!
Reglas del Foro
Los moderadores podrían mover los temas creados aquí a un foro más apropiado.
Si usted publicó aquí y no encuentra el tema, puede buscar sus mensajes haciendo clic en la opción «Buscar sus mensajes» que se encuentra justo debajo de la cabecera de la página, junto al panel de control de usuario y al acceso a sus mensajes privados.
Responder
ElToro
Mensajes: 1
Registrado: Jue Feb 12, 2015 8:07 pm

Extraer una tabla de una web al excel con una macro

Mensaje por ElToro »

Hola a todos. Soy nuevo en este foro y espero alguien me pueda ayudar:
El problema que tengo, es que necesito extraer de una pagina web, una tabla. La misma tabla tiene opciones de Dia-mes-año, los cuales se los indico yo mediante tres celdas . Lo que necesito es bajar esa tabla a mi documento, con los datos actualizados cada vez que lo desee.

Les paso la web:

http://www.loteriasmundiales.com.ar/

Como veran hay una tabla que le pode cambiar la fecha y te trae los datos de los ganadores de ese dia.
Entonces yo necesito desde mi macro cambiar esas fechas y traer el dia que yo quiera:

La macro que tengo es la siguiente, pero no funciona:

Código: Seleccionar todo

Sub probemosesto()

Dim IE As Object, doc As Object, i As Integer
Application.ScreenUpdating = False
Dim row As Long
Dim col As Long
Dim Dia As String
Dim Mes As String
Dim año As String
Dia = Range("k2")
Mes = Range("l2")
año = Range("m2")
Set IE = CreateObject("internetexplorer.application")
IE.Visible = True
IE.navigate "http://www.loteriasmundiales.com.ar/"
Do While IE.readystate <> 4: DoEvents: Loop
Set doc = CreateObject("htmlfile")
Set doc = IE.document
With doc
.getelementsbyname("cDia")(0).Value = Dia
.getelementsbyname("cMes")(0).Value = Mes
.getelementsbyname("cAno")(0).Value = año
End With
With doc
.getElementbyid("Submit1").Click
End With
Application.Wait Now + TimeSerial(0, 0, 2)
Do While IE.readystate <> 4
DoEvents
Loop
Set doc = IE.document
With doc.getelementsbytagname("table")(7)
For row = 0 To .Rows.Length - 1
For col = 0 To .Rows(row).Cells.Length - 1
Cells(row + ActiveCell.row, ActiveCell.Column + col) = tbl.Rows(row).Cells(col).innerText
Next col
Next row
Set tbl = Nothing
Set doc = Nothing
'Set IE = Nothing
IE.Quit
Application.ScreenUpdating = True

End With

End Sub


Si alguno me puede ayudar lo agradeceria mucho!
Última edición por SLV-es el Jue Feb 12, 2015 11:54 pm, editado 2 veces en total.
Razón: Desactivada la conversión de las URL; utilizar las etiquetas CODE
OpenOffice 3.1 en Windows Vista
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Extraer una tabla de una web al excel con una macro

Mensaje por SLV-es »

Hola

La macro que aportas es de Excel, y en este foro no se da soporte a Excel.

Si intentas adaptarla a OpenOffice Calc, o a LibreOffice Calc, podremos ayudarte.

Saludos

Para los nuevos usuarios del foro:
Te damos la bienvenida a este foro. Esperamos poder ayudarte y que tus aportaciones ayuden también a otros.
Dado que recien has desembarcado en esta costa, te recomiendo que leas la Guía de supervivencia del foro :super: .
Si con las respuestas obtenidas consideras que se ha dado solución a tu consulta :), por favor, marca el tema como [RESUELTO],
(aunque la solución obtenida sea que no la hay :(, o hayas resuelto tú mism@ el problema :bravo: ).
Si no sabes cómo, por favor, lee Como marcar como [RESUELTO] un tema.

Gracias por participar en el foro y ayudar a que todo esté ordenado.
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Avatar de Usuario
ifanlo
Mensajes: 420
Registrado: Lun Mar 30, 2009 10:32 am

Re: Extraer una tabla de una web al excel con una macro

Mensaje por ifanlo »

Hola, ElToro!

Quizás ni necesites macros. Prueba Insertar > Vincular con datos externos.

Tendrás que pasarle la URL exacta de la tabla que deseas. Por ejemplo, de la Lotería Nacional:

Código: Seleccionar todo

http://www.loteriasmundiales.com.ar/index.asp?pagina=QUINIELA_N
Y luego seleccionar la tabla deseada, que como no están nombradas, lo harás por ensayo y error.

En el propio diálogo le puedes indicar el tiempo de actualización.

Te adjunto un ejemplo. En Datos > Vínculos puedes ver el nombre de la tabla que he enlazado.

Saludos,
Adjuntos
vinculo-tabla-html.ods
(25.6 KiB) Descargado 317 veces
Ismael Fanlo

*ifanlo - soluciones libres* http://ifanlo.com
- Consultoría en migraciones a software libre
- Soporte ofimático online
- E-learning
- Formación informática presencial
Responder