Foros del Web » Soporte técnico » Ofimática »

[AYUDA]Publicar hoja excel 2003 en web de forma automática

Estas en el tema de [AYUDA]Publicar hoja excel 2003 en web de forma automática en el foro de Ofimática en Foros del Web. Buenas, Quiero publicar una hoja excel 2003 como página web cada 60 minutos y que este proceso sea completamente automático. Los datos de la hoja ...
  #1 (permalink)  
Antiguo 20/01/2012, 05:54
 
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años
Puntos: 2
Pregunta [AYUDA]Publicar hoja excel 2003 en web de forma automática

Buenas,

Quiero publicar una hoja excel 2003 como página web cada 60 minutos y que este proceso sea completamente automático.
Los datos de la hoja los saco de una consulta web y en dicha web hay que loguearse.

Los problemas que me encuentro son:

1.- Las primeras consultas a la web me las hace bien, hasta que caduca la sesión de usuario, entonces da error en cada consulta. He probado a pasar usuario y clave por la URL sin éxito.

2.- Los campos resultantes de la consulta los interpreta como texto y los necesito como numéricos para realizar cálculos. Esto lo hago con una macro, pero no consigo lanzarla de forma automática. No encuentro ningún evento en vba que me lo lance correctamente después de cada actualización.

Si alguien pudiese ayudarme, le estaría muy agradecido.
Un saludo.
  #2 (permalink)  
Antiguo 20/01/2012, 06:35
 
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años
Puntos: 2
Respuesta: [AYUDA]Publicar hoja excel 2003 en web de forma automática

Una ayudita please! up!
  #3 (permalink)  
Antiguo 20/01/2012, 12:39
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Respuesta: [AYUDA]Publicar hoja excel 2003 en web de forma automática

No entendi bien:
"Quiero publicar una hoja excel 2003 como página web cada 60 minutos y que este proceso sea completamente automático.
Los datos de la hoja los saco de una consulta web y en dicha web hay que loguearse."

a) Te logeas y recuperas informacion de una pagina web... esa informacion la pasas a un excel y luego el excel lo subes al servidor???

"1.- Las primeras consultas a la web me las hace bien, hasta que caduca la sesión de usuario, entonces da error en cada consulta. He probado a pasar usuario y clave por la URL sin éxito."

Es probable que el formulario del website solicite por POST la info, en cuyo caso debieras enviar el login por POST y no por GET (x URL)

"2.- Los campos resultantes de la consulta los interpreta como texto y los necesito como numéricos para realizar cálculos. Esto lo hago con una macro, pero no consigo lanzarla de forma automática. No encuentro ningún evento en vba que me lo lance correctamente después de cada actualización"

No estoy muy claro en el flujo de tu aplicacion, estas tratando q las macros se ejecuten desde web?? o las macros se ejecutan locales en el excel de tu maquina?

Todo lo que requieres debiera poder resolverse con una aplicacion .NET o VB que interactuara con el archivo .xls (excel) asi como con la pagina web (manipulando un objeto http), incluso permitiendo el upload por ftp (si tienes acceso)

Saludos
"[email protected]"
  #4 (permalink)  
Antiguo 23/01/2012, 06:43
 
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años
Puntos: 2
Respuesta: [AYUDA]Publicar hoja excel 2003 en web de forma automática

Buenas,

Primero, gracias por contestar y segundo, perdona el retraso al responderte.

Voy a intentar explicarme mejor.

Tengo una excel que toma datos cada 60 minutos de una web con control de acceso y los coloca en una tabla, luego se guarda automáticamente y al guardarse se publica como página web en un directorio en local.

Para obtener los datos de la web me voy al Menú > Datos > Obtener datos externos > Nueva consulta web. Me aparece un asistente, donde pongo la URL y me carga la web en una ventana, pongo el usuario y la clave y selecciono el contenido que quiero obtener, acepto y luego en las propiedades le digo que repita este captura de datos cada 60 minutos.



Hago lo que se explica en este enlace la única diferencia es que la web de donde saco los datos tiene login.

Esto lo hace bien las primeras veces, pero con el tiempo, deja de funcionar. Creo que es por que se caduca la sesión del usuario.

Las macros se ejecutan en local, sobre la Excel.

El flujo sería,

1.- Cargar datos en la Excel.
2.- Tratar los datos para convertirlos a formato numérico.
3.- Hacer cálculos.
4.- Guardar Excel.
5.- Publicar Excel.
6.- Repetir proceso cada 60 minutos.

Un saludo.

Última edición por noblejis; 23/01/2012 a las 06:52
  #5 (permalink)  
Antiguo 23/01/2012, 11:10
 
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años
Puntos: 2
Respuesta: [AYUDA]Publicar hoja excel 2003 en web de forma automática

He encontrado como hacerlo desde vba. El usuario y clave se pasan utilizando ActiveSheet.PostText, pero no consigo hacerlo funcionar....

Código:
Sub ConsultaWeb()
'
' ConsultaWeb Macro
'

'

Const user = "mi usuario"
Const pass = "mi clave"

    For Each Q In ActiveSheet.QueryTables
        Q.Delete
    Next Q
    ActiveSheet.Cells.Clear
    
    With ActiveSheet.QueryTables.Add(Connection:="URL;http://www.miwebdelogueo.com/index.jsp", Destination:=Range("$A$1"))
        .PostText = "user=" & user & "&pass=" & pass
        .Refresh BackgroundQuery:=False
        
        .Connection = "URL;http://www.miwebconlosdatos.com/datos.jsp"
        .Name = "datos.jsp"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 60
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    Range("A2").Select
    
End Sub

Etiquetas: excel, hoja, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:00.