............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Ver el tema anterior Ver el tema siguiente Ir abajo

WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por GalileoGali el Sáb Mayo 17, 2008 8:53 pm

En otro foro consultan, sobre un Buscador de Imagenes en tabla. Desde ya que las soluciones dependen entre otras cosas de conde estan almacenadas las Imagenes.: En la Misma PC, o en el mismisimo archivo de Excel, o en un servidor de red, o si se tiene buena conexion de red, en Internet

Bueno, trtae de hacer algo con el control WebBrowser, suponiendo obviamente dos cosas: que la PC donde opere el xls, tenga una buena conexion a Internet y que perdure, la Pagina de consulta, ya que si me la remueven, debere pensar en otra solucion..

DESCARGA DE ARCHIVO

Obvio que con esta propuesta no se descartan aquellas construcciones independientes de Internet.....
En etse caso particular los codigos y los nombres de los gif eran casi coincidentes, asi que no hicieron falta demasaidos pasos, pero en el supuesto de no haber sido asi, se acudiria a una "Tabla de Asignación o Traductor"

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por GalileoGali el Dom Mayo 18, 2008 5:31 pm

Si se trata de algo simple una BASE DE DATOS con Imagenes Incrustadas y un BUSCARV PARA BUSCAR EL DESPLAZADOR DE REFERENCIA. El detalle un nombre FOTO, basado en la funcion Indirecto, que "pone" la foto en un Shape, el resto puede verse en el archivo.

DESCARGAR ARCHIVOS

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por P@li el Lun Mayo 19, 2008 9:23 pm

Hola Gali!!,

Hace tiempo que no aparezco, si bien no dejo de entrar al foro, no hice aportes este último tiempo, debido a mis estudios, que gracias a Dios va todo como debe ir, mañana tengo que rendir un parcial de Derecho Comercial III, pero no podía evitar la tentación de dar mi aporte al tema.

Es muy buena la idea de no tener "físicamente" las imágenes insertas dentro del xls, el hecho de obtenerlas on-line no parece un gran obstáculo, hoy en día son muchos los usuarios que tienen la posibilidad de tener internet permanente, desde su casa o su empresa. Y mediante este método podemos lograr dos cosas, cierta flexibilidad al implementar imágenes desde la web, las que podríamos modificar por otras si es nuestro servidor, y así actualizar la vista de nuestro programa sin tener que reemplazar el xls, y por otro lado, hace que nuestra aplicación sea más liviana, se abra con más velocidad y no malgaste recursos.

Propongo una modificación al primero de los dos archivos que subiste.



No sé si realmente agiliza el rendimiento, o la velocidad, pero aseguro que se solucionan dos cosas, por un lado la molesta barra de desplazamiento y por el otro el tamaño de la imagen, cuando no se adapta a la medida de nuestro webbrowser.

Espero que sirva el aporte.

Saludos.

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 33
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por GalileoGali el Lun Mayo 19, 2008 10:17 pm

Excelente optimización, tanto por el manejo de errores de conexion, como en la agilizacion de descarga, via retencion en temporales, para segundos usos.
Me alegro de que el futuro abogado cada vez este mas cercano....
Hasta pronto P@li. Para cuando tengas tiempo, unas explicaciones:
las propiedades: Document (esta me parece que esta clara), body, innerHTML.
y algo de las Strings de codigo HTML, aunque esto me parece que es lo mas claro.....

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por P@li el Lun Mayo 19, 2008 10:46 pm

Gali

body es una etiqueta HTML, crea un objeto contenedor del documento que va a mostrarse en el navegador, las etiquetas esenciales del documento son:


Código:

<html>

    <head>
        Generalmente acá se ponen los scripts, las etiquetas meta, los link a archivos de estilo (css), la etiqueta title (título del documento), etc
    </head>

    <body>
        Acá se coloca todo lo referente a contenido de la página, tablas, divs, formularios, imagenes, y todo aquello que vamos a presentarle al usuario.
    </body>

</html>

Mientras que el objeto Document es la referencia al documento contenido dentro de nuestro webbrowser, el objeto Body hace referencia a la etiqueta-elemento body dentro del documento.

Y llegado este punto, si entendemos esa relación Document-body, no puede complicarse comprender que innerHTML es la propiedad del elemento body que hace referencia al código HTML escrito dentro de este.

Dado este código HTML, contenido en el documento que cargamos en nuestro WebBrowser1:

Código:

<html>

    <head>
        <title>ExcelGali</title>
    </head>

    <body><img src="http://illiweb.com/fa/i/smiles/icon_redface.gif"></body>

</html>

Por lo tanto:

Código:

'La propiedad innerHTML del elemento body va a ser igual a la cadena de texto "<img src=""http://illiweb.com/fa/i/smiles/icon_redface.gif"">"

WebBrowser1.Document.body.innerHTML = "<img src=""http://illiweb.com/fa/i/smiles/icon_redface.gif"">"

Para poder ver las propiedades del elemento Document, como de todas las propiedades aceptadas por Internet Explorer, hay que agregar la referencia a MSHTML.TLB (Microsoft HTML Object Library).
En el Examinador de Objetos de VBA (F2), hay que seleccionar en el primer combo MSHTML, y en clases cualquiera de los que comienzan con HTML son válidos, por ejemplo HTMLDocument o HTMLImg

Luego en el código, se puede hacer algo así:

Código:


Dim doc As MSHTML.HTMLDocument
Dim body as MSHTML.HTMLBody
Dim html as String

set doc = WebBrowser1.Document
set body = doc.body
html = body.innerHTML


Bueno, es un tema apasionante, yo podría estar horas con esto, pero no puedo olvidar mis obligaciones.


Saludos.

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 33
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por drako56 el Vie Nov 14, 2008 6:45 pm

Disculpen Pero e estado intentando algo parecido pero con una animacion gif desde el pc pero no logro quitar esa fea barra de desplazamiento, abri el documento modificado de P@li pero no le entendi como la quito, si me pudieran expliacar mas especificamente este punto se los agradecedia infinitamente

drako56

Cantidad de envíos : 4
Fecha de inscripción : 14/11/2008

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por P@li el Vie Nov 14, 2008 7:35 pm

Es de lo mas sencillo...
1.- Para evitar barras de desplazamiento:
Código:
 
WebBrowser1.Document.body.Style.overflow = "hidden"
2.- Para insertar la imagen:
Código:
 
WebBrowser1.Document.body.innerHTML = "<img style=position:absolute;top:0px;left:0px;width:" & Fix(WebBrowser1.Width * 1.33333333333333) & "px;height:" & Fix(WebBrowser1.Height * 1.33333333333333) & "px src=""aca pones la URL"" alt=""aca mandas una descripcion"" />"
Saludos!!
P@li

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 33
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por GalileoGali el Vie Nov 14, 2008 8:45 pm

P@LI: segun parece es inevitable para lograr las barras desaparecidas el que esa propiedad se establezca dentro del Evento DocumentComplete de Webbrowser

He probado este codigo y funciono, en mi esquema anterior
Código:
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
pDisp.Document.body.setAttribute "scroll", "no"
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rutaUrl As String

If Target.Address <> "$B$2" Then Exit Sub
If Target.Value = "" Then Exit Sub
WebBrowser1.Navigate URL:="http://www.titulosnauticos.net/cis/" & LCase(Trim(Target.Value)) & ".gif"
End Sub


En cambio la inclusion de la sentencia dentro del Change se comporta en forma errática, ya que sin tener certeza de la descarga completa del objeto Document, puede reaccionar o no

de ahi que se me ocurrio meter la orden dentro del Evento con lo cual estaria garantizada la descarag completa

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por GalileoGali el Vie Nov 14, 2008 9:06 pm

Quise adaptar el codigo , P@li, para agregar tu "insertar imagenes", pero me parece que la sintaxis...mmmm


Código:
Dim rutaUrl As String


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

pDisp.Document.body.setAttribute "scroll", "no"
'pDisp.Document.body.innerHTML = "<img style=position:absolute;top:0px;left:0px;width:" & Fix(pDisp.Width * 1.33333333333333) & "px;height:" & Fix(pDisp.Height * 1.33333333333333) & "px;src=" & rutaUrl & "/>"
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$2" Then Exit Sub
If Target.Value = "" Then Exit Sub
rutaUrl = "http://www.titulosnauticos.net/cis/" & LCase(Trim(Target.Value)) & ".gif"
WebBrowser1.Navigate URL:=rutaUrl
End Sub

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por drako56 el Lun Nov 17, 2008 1:56 pm

gracias ya me salio XD

drako56

Cantidad de envíos : 4
Fecha de inscripción : 14/11/2008

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por P@li el Lun Nov 17, 2008 3:19 pm

Gali,
Es cierto, la adaptación sería la siguiente:

Código:

pDisp.Document.body.innerHTML = "<img style=""position:absolute;top:0px;left:0px;width:" & Fix(pDisp.Width * 1.33333333333333) & "px;height:" & Fix(pDisp.Height * 1.33333333333333) & "px"" src=""" & rutaUrl & """/>"

Saludos.

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 33
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por GalileoGali el Lun Nov 17, 2008 5:20 pm

Gracias [Tienes que estar registrado y conectado para ver este vínculo] etiquietas de Html, siempre me pescan distraído......

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por drako56 el Mar Nov 18, 2008 2:04 pm

un detallito nada mas es que al abrir el documento por primera vez me carga la imagen pero se siguen viendo las barras de desplazamiento, pero cuando por ejemplo cambio de hoja y regreso a la que tienen el gif ya se muetra bien no ha manera que la cargue biene desde el principio XD

drako56

Cantidad de envíos : 4
Fecha de inscripción : 14/11/2008

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por P@li el Mar Nov 18, 2008 2:08 pm

Seguramente, pero.... que solución fue la que aplicaste? podrías subir a un servidor tu archivo como para echarle un vistazo?

Saludos

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 33
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por drako56 el Mar Nov 18, 2008 2:32 pm

aqui van los 2



y otro detallito no hay forma que me cargue el gif mientras esten los dos en la misma carpeta

drako56

Cantidad de envíos : 4
Fecha de inscripción : 14/11/2008

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por kurupc el Mar Ago 24, 2010 9:39 pm

Muchas gracias por sus aportes.

kurupc

Masculino Cantidad de envíos : 20
Edad : 47
Ciudad - Pais : Argentina
Version de Excel : 2003-2007
Fecha de inscripción : 12/04/2010

Volver arriba Ir abajo

insertar gif en macros

Mensaje por sofia el Mar Mayo 31, 2011 2:39 pm

no puedo hacerlo mi excel es 2007 intente de otra manera pero solo me sle el movimiento si le doy clic

sofia

Femenino Cantidad de envíos : 1
Edad : 47
Ciudad - Pais : colombia
Version de Excel : xp-2007
Fecha de inscripción : 31/05/2011

Volver arriba Ir abajo

Re: WebBrowser: Una manera de tener imagenes en un Xls, sin Poseerlas

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.