Forums Últimos mensajes - Powered by IBM
 

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
 

Leer las respuestas

#1 Héctor Miguel
05/04/2007 - 03:53 | Informe spam
hola, José Manuel !

... estoy intentando... copiar "al vuelo" (sin guardar en archivo) imagenes desde paginas web hacia un rango determinado
... si estas imagenes son alargadas, me aparecen distorsionadas...



1) al hacer el 'copy' de la imagen desde la pagina web, la imagen 'se viene' con sus dimensiones 'originales' [alto y ancho]

2) al hacer el -> ActiveSheet.Pictures.Paste [logicamente] la imagen 'mantiene' sus dimensiones originales

3) si resulta que el rango donde quieres 'encajar' la imagen [A1:B5] es de dimensiones diferentes [alto y ancho]
-> al 'ajustar' las dimensiones de la imagen 'pegada' no creo que puedas evitar distorsiones [para dimensiones diferentes] -?-

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

__ el codigo expuesto __
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

Preguntas similares