Imágenes distorsionadas al pegarlas en Excel desde página web

05/04/2007 - 03:02 por José Manuel | Informe spam
Hola a todos:
Soy usuario medio de Excel, uso Excel 97-2000 y estoy intentando, sin
éxito, copiar "al vuelo" (sin guardar en archivo) imágenes desde
páginas web hacia un rango determinado en una hoja de cálculo. Ocurre
que, si estas imágenes son alargadas,me aparecen distorsionadas.
El código que uso es el siguiente:

*****************************************************************
Sub ImportarImagenWeb()
Dim Foto As Object, _
Arriba As Double, Izquierda As Double, Ancho As Double, Alto
As Double
Application.ScreenUpdating = False
On Error Resume Next
Set Foto = ActiveSheet.Pictures.Paste
With Sheets(1).Range("a1:b5")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing
End Sub
*****************************************************************

¿Podéis echarme una mano? Gracias de antemano.

Saludos.

José Manuel

Preguntas similare

Leer las respuestas

#6 José Manuel
06/04/2007 - 17:54 | Informe spam
On 6 abr, 03:07, "Héctor Miguel"
wrote:
hola, José Manuel !

> ... estamos hablando, aproximadamente, de unas 700 imagenes... El archivo ocupaba 14 Mb aprox.
> ... mediante evento, vinculo las imagenes a textos en otra hoja, lo que me resultaba bastante agil
> ... en este punto (un control) me parece muy interesante, pero me gustaria saber como hacerlo
> ... por otra parte, que al tener que guardar la imagen, se perderia agilidad...

1) 'asumiendo' que de las ~700 imagenes solo es necesario mostrar una, otra u otra [es decir... una por vez]
[creo] si seria mas agil conservar las imagenes en DD y cargarlas [por evento] a un control 'Image'
[ademas de la mejora en el 'peso' del archivo, ya que no se conservarian las imagenes incrustadas] <= OJO

2) hasta ahora, solo has expuesto el codigo para el 'pegado' de la imagen, pero... -> 'como' estas haciendo el 'copy' ?
si lo estas haciendo 'al vuelo' [es decir, 'vas' al internet, abres la pagina, seleccionas la imagen y haces el copy]...
[como que no le veo la 'agilidad' al proceso] -?-
o tienes ya alguna macro que haga lo del copiar la imagen ?

existen ya bastantes consultas acerca del tema de las imagenes [funciones y macros con diversos 'controles']
pero creo que todavia hay algunos detalles que no has dejado salir a la luz -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Hola , Héctor:

Gracias por tu atención. Vamos a precisar algunas cosas, aunque,
quizás, lo que sigue no sea de mucho interés.

1, Básicamente, las imágenes las extraigo de páginas web como las de
John Walkenbach, Chip Pearson, Davie McRichtie, distintos blogs,
noticias de informática, de freeware, extensiones Firefox, etc. Lo
hago así por razones de operatividad (no siempre puedo disponer de
conexión a internet, tampoco tengo la seguridad de que mañana existan
esas páginas, ...). Muy a menudo, la misma página tiene numerosas
imágenes: pasar una por una al DD, aparentemente, podría ser poco
ágil. Pero, en fin, confío en tu criterio.

2, Lo que hago no tiene ningún secreto. Lo que pasa es que improviso
mucho y no planifico. Para evitar que el único libro previsto
inicialmente me pesara excesivamente, hice dos libros, uno para texto
(Libro1) y otro para imágenes (Libro2). En Libro1, en celda col. B
sitúo el texto y me coloco en celda G de la misma fila, donde está
previsto que evento Worksheet_BeforeDoubleClick en Libro2 me coloque
las coordenadas donde se posiciona la imagen asociada al texto.

2a) En Libro2 uso dos macros sencillas, que insertan filas y pegan
imágenes (luego, igual tengo que ajustar manualmente su tamaño, pero,
en fin, es cuestión de práctica):

Sub InsertarFilas()
Application.Goto Reference:="AAA" 'Filas a insertar
Selection.Copy
Range("a65536").End(xlUp).Offset(1).EntireRow.Select
Selection.Insert Shift:=xlDown
Application.Goto Reference:=ActiveCell, Scroll:=True
x = ActiveCell.Address(RowAbsolute:=False,
ColumnAbsolute:=False)
Range("q1").Value = x 'Sitúa coordenadas imagen en [q1]
End Sub

Sub PegarImagen()
ActiveSheet.Pictures.Paste.Select
End Sub

... y un evento, que establece coordenadas de la imagen, copia las
mismas a col G de Libro1 y sale/guarda el libro:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Set y = ActiveCell
Workbooks("Libro1.xls").Worksheets("Libro1").Activate
x = ActiveCell.Address
Workbooks("Libro2.xls").Worksheets("Libro2").Activate
If Not Intersect(Target, Range("q1")) Is Nothing Then
Target.Copy
Workbooks("Libro1.xls").Worksheets("Libro1").Range(x).PasteSpecial
Paste:=xlPasteValues
Application.CutCopyMode = False
End If
Application.Goto
Reference:=Workbooks("Libro2.xls").Worksheets("Libro2").Range(y),
Scroll:=True
ActiveWorkbook.Close savechanges:=True
Workbooks("Libro1.xls").Worksheets("Libro1").Activate
ActiveCell.Offset(1, -6).Select
End Sub

2b) En Libro1 sitúo evento, que permite, haciendo doble clic en celda
de col. G, abrir Libro2 y mostrar imagen asociada:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Not Intersect(Target, Range("G:G")) Is Nothing Then
Set x = ActiveCell
If WorkbookIsOpen("C:\...\Libro2.xls") = False Then
Workbooks.Open "C:\...\Libro2.xls"
Application.Goto Reference:=ActiveSheet.Range(x), Scroll:=True
Else
Workbooks("Libro2.xls").Worksheets("Libro2").Activate
Application.Goto Reference:=ActiveSheet.Range(x), Scroll:=True
End If
ElseIf Not Intersect(Target, Range("c:c")) Is Nothing Then
Target.Value = Date
Target.Offset(, 1).Select
ElseIf Not Intersect(Target, Range("d:f")) Is Nothing Then
Target.Value = Target.Offset(-1).Value
Target.Offset(, 1).Select
End If
End Sub

Para mí, estos procedimientos son aceptablemente ágiles, pero los
tiene que haber más elaborados, rápidos y que consuman menos recursos.
En fin, espero no haber añadido más confusión.

De nuevo, cordiales saludos.

José Manuel
Respuesta Responder a este mensaje
#7 Héctor Miguel
06/04/2007 - 23:32 | Informe spam
hola, José Manuel !

1, Basicamente, las imagenes las extraigo de paginas web como las de John Walkenbach, Chip Pearson, Davie McRichtie
distintos blogs, noticias de informatica, de freeware, extensiones Firefox, etc. Lo hago asi por razones de operatividad
(no siempre puedo disponer de conexion a internet, tampoco tengo la seguridad de que ma#ana existan esas paginas, ...).
Muy a menudo, la misma pagina tiene numerosas imagenes: pasar una por una al DD
aparentemente, podria ser poco agil. Pero, en fin, confio en tu criterio.
2, Lo que hago no tiene ningun secreto. Lo que pasa es que improviso mucho y no planifico.
Para evitar que el unico libro previsto inicialmente me pesara excesivamente, hice dos libros
uno para texto (Libro1) y otro para imagenes (Libro2)...



no se que te pudiera resultar mas 'agil' [a la larga y considerando que necesitaras copiar cada imagen al menos la primera vez]...
-> si mantener un 'almacen' de imagenes en un archivo de excel...
-> o 'almacenar' las imagenes en alguna carpeta de tu DD -?-

si las mantienes en un lbro de excel [ya has visto la posibilidad de caer en corrupcion de los archvos] :-((
si las mantienes en tu DD... revisa las siguientes conversaciones: -> http://tinyurl.com/ypzn7a

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#8 José Manuel
07/04/2007 - 00:28 | Informe spam
On 6 abr, 23:32, "Héctor Miguel"
wrote:
hola, José Manuel !

> 1, Basicamente, las imagenes las extraigo de paginas web como las de John Walkenbach, Chip Pearson, Davie McRichtie
> distintos blogs, noticias de informatica, de freeware, extensiones Firefox, etc. Lo hago asi por razones de operatividad
> (no siempre puedo disponer de conexion a internet, tampoco tengo la seguridad de que ma#ana existan esas paginas, ...).
> Muy a menudo, la misma pagina tiene numerosas imagenes: pasar una por una al DD
> aparentemente, podria ser poco agil. Pero, en fin, confio en tu criterio.
> 2, Lo que hago no tiene ningun secreto. Lo que pasa es que improviso mucho y no planifico.
> Para evitar que el unico libro previsto inicialmente me pesara excesivamente, hice dos libros
> uno para texto (Libro1) y otro para imagenes (Libro2)...

no se que te pudiera resultar mas 'agil' [a la larga y considerando que necesitaras copiar cada imagen al menos la primera vez]...
-> si mantener un 'almacen' de imagenes en un archivo de excel...
-> o 'almacenar' las imagenes en alguna carpeta de tu DD -?-

si las mantienes en un lbro de excel [ya has visto la posibilidad de caer en corrupcion de los archvos] :-((
si las mantienes en tu DD... revisa las siguientes conversaciones: ->http://tinyurl.com/ypzn7a

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Hola de nuevo, Héctor:

Voy a revisar las conversaciones a que haces referencia. Seguro que
resultarán útiles.

Gracias.

José Manuel
Respuesta Responder a este mensaje
#9 Francisco Parrilla
07/04/2007 - 07:36 | Informe spam
si lo que quieres es guardar las paginas que mencionas como un archivo unico
de Iexplorer guardalas desde el mismo con la extension .MHT desde guardar
como de la aplicacion
Te ahorras el hecho de tener un contenido multiple dentro de tu carpeta de
almacenaje.
Saludos


Francisco Parrilla
Operador de Sistemas
News Microsoft:
news.microsoft.com
Comunidad:
http://groups.msn.com/ExcelVbaMacrosOffice
Ayuda y Soporte:
http://support.microsoft.com/search/?adv=1

"José Manuel" escribió en el mensaje
news:
On 6 abr, 23:32, "Héctor Miguel"
wrote:
hola, José Manuel !

> 1, Basicamente, las imagenes las extraigo de paginas web como las de


John Walkenbach, Chip Pearson, Davie McRichtie
> distintos blogs, noticias de informatica, de freeware, extensiones


Firefox, etc. Lo hago asi por razones de operatividad
> (no siempre puedo disponer de conexion a internet, tampoco tengo la


seguridad de que ma#ana existan esas paginas, ...).
> Muy a menudo, la misma pagina tiene numerosas imagenes: pasar una por


una al DD
> aparentemente, podria ser poco agil. Pero, en fin, confio en tu


criterio.
> 2, Lo que hago no tiene ningun secreto. Lo que pasa es que improviso


mucho y no planifico.
> Para evitar que el unico libro previsto inicialmente me pesara


excesivamente, hice dos libros
> uno para texto (Libro1) y otro para imagenes (Libro2)...

no se que te pudiera resultar mas 'agil' [a la larga y considerando que


necesitaras copiar cada imagen al menos la primera vez]...
-> si mantener un 'almacen' de imagenes en un archivo de excel...
-> o 'almacenar' las imagenes en alguna carpeta de tu DD -?-

si las mantienes en un lbro de excel [ya has visto la posibilidad de caer


en corrupcion de los archvos] :-((
si las mantienes en tu DD... revisa las siguientes


conversaciones: ->http://tinyurl.com/ypzn7a

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Hola de nuevo, Héctor:

Voy a revisar las conversaciones a que haces referencia. Seguro que
resultarán útiles.

Gracias.

José Manuel
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida