Regresar a la Pagina de Inicio

6 abr. 2010

macros: excel y la web

Desde el menú "archivo / guardar como", Excel nos permitirá elegir entre muchos formatos, incluyendo el "html / htm", lo que nos generará un archivo factible de ser visualizado posteriormente desde cualquier navegador. Creo que la mayor ventaja de esto es, sin lugar a dudas, levantar al servicio de hosting el libro y así compartir nuestro trabajo en un entorno colaborativo. Puedo realizar miles de cálculos y análisis desde Excel, publicando luego de forma muy sencilla los resultados, sin necesidad de contar con conocimientos en leguajes "web".
Pero un libro puede tener muchas hojas, tablas, datos.... y quizás se convierta en una tarea mas que tediosa, al margen de lidiar con formatos, estructuras, etc. ¿Que tal si seleccionamos una tabla, por ejemplo, y ejecutando una macro generamos un archivo .html a partir de dicha selección?
[+/-] Ver el resto / Ocultar

5 comentarios:

Anónimo dijo...

tengo una web en php que me guarda datos en MSSQL que leo desde excel atravez de macro pero cuando leo una tabla salen tags de html en los campos de espacios,tabulaciones y enter como hago para que no se vean y solo se vea la informacion

Damian Omar Silva dijo...

Anónimo: creo que necesitás hacer uso de la función de VBA Replace(). Copiá y pegá el siguiente código dentro de un módulo y ejecutalo. Verás como en A2 desaparecen los tags html que le indico; solo es cuestión que modifiques los parámetros a tu proyecto.

Sub Reemplazar()
'defino un par de variable:
Dim TextoSucio, TextoLimpio As String
'dos constantes: una contiene el tag de apertura
'de tabla y la otra el tag de cierre
Const UnTag As String = "???"
Const OtroTag As String = "///"

'creo un texto cualquiera, que contiene tags html.
'estimo que estos datos los extraerás de MSSQL
TextoSucio = "???esta cadena no sirve///"
'colocamos en A1 el texto "sucio"
[a1].Value = TextoSucio
'ahora utilizo a Replace, que me solicita tres
'argumentos:
'1 el texto original
'2 el texto que quiero buscar (uso las constantes)
'3 el valor con el cual reemplazaré el segundo
'argumento:
TextoLimpio = Replace(TextoSucio, UnTag, "")
TextoLimpio = Replace(TextoLimpio, OtroTag, "")
'mostramos el resultado
[a2].Value = TextoLimpio
End Sub

avisame si te sirve

Damian Omar Silva dijo...

el cuadro de comentarios del blog no te permite ingresar tags html, por eso verás que usé ??? y /// en el ejemplo. cambialos en el proyecto y verás que funciona lo mismo.

apiezas dijo...

Hola Damian:

Podrias indicarme una forma para exportar en html una tabla dinamica sin que pierda las funciones de interactividad (desplegables, etc)?

Gracias de antemano

Damian Omar Silva dijo...

si mal no recuero, te vas a "guardar como...", y en tipo de archivo seleccionas "html". Hay que tildar la opción "agregar interactividad" y seleccionar "tabla dinámica". luego le das al botón "publicar", lo que te llevará a otro formulario con opciones varias, como por ejemplo cambiar la ruta de guardado y de que forma se actualizarán los datos. Ojo: dentro del directorio en donde guardas el archivo se crea una carpeta que contiene un par de archivos XML, fundamentales para que todo funcione correctamente. Luego, en IE, debes tener los controles web instalados... si no están no te preocupes, que un link te llevará a la página de Microsoft para su descarga.

Publicar un comentario

Regresar a la Pagina de Inicio

ENTRADAS MAS RECIENTES (ULTIMAS 10)


las + vistas

10 ULTIMOS COMENTARIOS DE MIS LECTORES

Free counters!
blog de periodismo




GRAFICA RIO BRAVO
Serigrafia-Offset
Rosario - Santa Fe - Argentina
TE: 0341 4664028