Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

INSERTAR VARIAS IMAGENES EN VARIOS RANGOS A PARTIR DE VARIAS CELDAS

55 views
Skip to first unread message

pejelagarto

unread,
Oct 21, 2006, 1:10:13 AM10/21/06
to
Es el CÓDIGO DE ABAJO; solo que habrá lo siguiente:

IMAGEN 1:
1.- Directorio: --->>> "C:\Excel\portadas\"
2.- CELDA A1: Nombre de las PORTADAS--->>> Portada1,portada2, portada3,
portada4, portadaN
3.- RANGO DE VISUALIZACION--->>> B1:D:20

IMAGEN 2:
1.- Directorio: --->>> "C:\Excel\Croquis\"
2.- CELDA A1: Nombre de los CROQUIS--->>> Croquis1, Croquis2, Croquis3,
Croquis4, CroquisN
3.- RANGO DE VISUALIZACION--->>> B30:D:50

IMAGEN 3:
1.- Directorio: --->>> "C:\Excel\Credencial\"
2.- CELDA A1: Nombre de los CREDENCIALES--->>> Credencial1,
Credencial2, Credencial3, Credencial4, CredencialN
3.- RANGO DE VISUALIZACION--->>> B60:D:80

ESO ES TODO LO KE QUIERO HACER, Y PRECISAMENTE ESTO PORQUE NO KIERO KE
SEA MUY PESADO EL ARCHIVO.

De verdad JURO ke NO VUELVO A PREGUNTAR...... Gracias de antemano y
quedo de USTEDES.
her...@gmail.com.
El CÓDIGO DE AKÁABAJO LO HACE BIEN, solo ke lo hace PARA UN ARCHIVO Y
PARA UN RANGO. Gracias

========================================================================
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$A$1" Then Exit Sub
Dim De_donde As String, Foto As Object, _
Arriba As Double, Izquierda As Double, Ancho As Double, Alto
As Double
Application.ScreenUpdating = False
On Error Resume Next
Me.Shapes("La_Foto").Delete
De_donde = "C:\Excel\" & [a1] & ".JPG"
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)
With Me.Range("f1:h21")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "La_Foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing
End Sub

pejelagarto

unread,
Oct 21, 2006, 1:14:33 AM10/21/06
to
PERDON;
el de PORTADA es en la CELDA A1;
CROQUIS en la CELDA A2,
CREDENCIAL en la CELDA A3


gracias.....

Héctor Miguel

unread,
Oct 22, 2006, 12:40:41 AM10/22/06
to
hola, Antonio !

> PERDON;
> el de PORTADA es en la CELDA A1;
> CROQUIS en la CELDA A2,
> CREDENCIAL en la CELDA A3

dejame poner a tu consideracion lo siguiente:

op1: usando/incrustando/... SOLO 3 objetos de control de imagenes ["forms.image"]...
- solo agregas un 'Case' para la celda 'A3' [p.e. luego del Case para la celda 'A2']
- solo se van 'actualizando' la imagen 'en turno' [segun la celda que se modifica]
- el resto del codigo... permanece sin cambios

op2: usando/incrustando/... los objetos 'Picture' de la coleccion 'Shapes'...
- el codigo sera [ligeramente] mas 'largo' que la opcion anterior ["La_Foto_1", "La_Foto_2", "La_Foto_3"]
- [literalmente] estas ELIMINANDO Y RE-INCRUSTANDO los objetos en la hoja de calculo
- [probablemente] llegara el momento en que se ponga en riesgo la 'integridad' del archivo
- [creo que] lo mas que podrias 'acercarte' a las ventajas de la opcion1...
es 'armar' un 'Select Case' para las ubicaciones y los nombres de los 3 objetos 'Shape-Picture' -???-
[aunque NO PODRIAS EVITAR el -posibe- 'riesgo'... de corromper el archivo] :-((

saludos,
hector.


pejelagarto

unread,
Oct 23, 2006, 11:18:44 AM10/23/06
to
Ke tal HECTOR; fíjate ke usé la OPCIÓN 1 y me HIZO UN MEGA-ARCHIVO
(60 MB con solo 5 IMÉGENES), y mi archivo en el que lo quiero USAR
mide tan SOLO 2 MB. Me parece MEJOR LA OPCIÓN 2; pero como quedaría
el KÓDIGO viejo, diskulpa si es MUCHO PEDIR.


Te agradezko tu AYUDA.
Gracias de ANTE-MANO.

===============================================================================

pejelagarto

unread,
Oct 23, 2006, 1:08:51 PM10/23/06
to
HOLA hector/

_____________________________________________________________________________


IMAGEN 1:
1.- Directorio: --->>> "C:\Excel\portadas\"
2.- CELDA A1: Nombre de las PORTADAS--->>> Portada1,portada2, portada3,

portada4, portadaN
3.- RANGO DE VISUALIZACION--->>> B1:D:20


IMAGEN 2:
1.- Directorio: --->>> "C:\Excel\Croquis\"

2.- CELDA A2: Nombre de los CROQUIS--->>> Croquis1, Croquis2, Croquis3,

Croquis4, CroquisN
3.- RANGO DE VISUALIZACION--->>> B30:D:50


IMAGEN 3:
1.- Directorio: --->>> "C:\Excel\Credencial\"

2.- CELDA A3: Nombre de los CREDENCIALES--->>> Credencial1,


Credencial2, Credencial3, Credencial4, CredencialN
3.- RANGO DE VISUALIZACION--->>> B60:D:80


ESO ES TODO LO KE QUIERO HACER, Y PRECISAMENTE ESTO PORQUE NO KIERO KE
SEA MUY PESADO EL ARCHIVO.


De verdad JURO ke NO VUELVO A PREGUNTAR...... Gracias de antemano y
quedo de USTEDES.

herc...@gmail.com.

PARA UN RANGO. Gracias


========================================================================

============================================================================

ME PARECE MEJOR LA OPCIÓN 2: """"usando/incrustando/... los objetos
'Picture' de la coleccion 'Shapes'...""".

Pero como quedaría EL CÓDIGO ????????????.
Gracias viejo de ante-mano.


=================================================================================

pejelagarto

unread,
Oct 24, 2006, 1:47:56 PM10/24/06
to
ALGUIEN ME PUEDE DECIR COMO????-

================================================================================

Héctor Miguel

unread,
Oct 25, 2006, 12:15:35 AM10/25/06
to
hola, Antonio !

1) no se si tengas pensado ser un visitante constante... o uno de tantos 'golondrinos' que visita los foros -?-

2) si piensas ser de los primeros... [probablemente] te seria de utilidad visitar: -> http://spaces.msn.com/members/excel4all
[p.e. no creo que sea tu intencion GRITARLE a quien/es solicitas ayuda] :)) [ya entenderas el por que] ;)

3) [generalmente] las propuestas vienen de los 'ratos libres' de quienes proponen alternativas o posibilidades de solucion :)

4) en cuanto al tema que nos ocupa... podrias poner en blanco los controles "forms.image" al salir del libro :))
-> no creo que sea necesario 'guardar/incluir/...' las imagenes junto con el archivo... o si ?

[en fin]... si te animas a visitar el sitio 'sugerido'... y te quedan ganas de 'seguir por aqui'... -?-
lo...co...ntinuamos luego ?

saludos,
hector.


pejelagarto

unread,
Oct 25, 2006, 11:33:10 AM10/25/06
to
Ke tal Hector, te ofresco una "disculpa" pública por los "gritos"
públicos; dame chance en lo que me acostumbro de nuevo a escribir como
se debe.

En cuanto a lo otro, creo que es una buenasolución tambien lo de:
"dejar en blanco los controles al salir del libro".
Saludos y gracias.

ST

unread,
Oct 27, 2006, 7:05:49 PM10/27/06
to

pejelagarto

unread,
Oct 28, 2006, 1:33:19 AM10/28/06
to
POR FIN


Con este "código" podrán insertar "varias imágenes" que quieran a
partir de "varias celdas"(nombre de las fotos/imagenes y y en "varios
rangos".

=======================================================
Private Sub Worksheet_Change(ByVal Target As Range)

Dim De_donde, De_Donde2 As String, Foto, Foto2 As Object, _


Arriba As Double, Izquierda As Double, Ancho As Double, Alto
As Double

Application.ScreenUpdating = True


On Error Resume Next
Me.Shapes("La_Foto").Delete
De_donde = "C:\Excel\" & [a1] & ".JPG"
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)

With Me.Range("d1:i20")


Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With

With Foto
.Name = "La_Foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With

With Foto2
.Name = "La_Foto2"


.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With

On Error Resume Next
Me.Shapes("La_Foto2").Delete
De_Donde2 = "C:\Excel\" & [a2] & ".JPG"
If Dir(De_Donde2) = "" Then Exit Sub
Set Foto2 = Me.Pictures.Insert(De_Donde2)
With Me.Range("d20:i40")


Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With

With Foto2
.Name = "La_Foto2"


.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With

End Sub

====================================================================

Solo ajústenloa sus necesidades (cantidades de fotos que deseen
mostrar) y listo...... saludos HECTOR, gracias por tu ayuda
"subliminal", me sirvió.

Muy bueno este GRUPO,

Héctor Miguel

unread,
Oct 28, 2006, 2:19:03 AM10/28/06
to
hola, Antonio !

> Con este "codigo" podran insertar "varias imagenes"... a partir de "varias celdas"... y en "varios rangos" [...]
> Solo ajustenloa sus necesidades (cantidades de fotos que deseen mostrar) y listo...
> ... saludos HECTOR, gracias por tu ayuda "subliminal", me sirvio.

solo por no 'dejarlo en el pasado' [y perdon por la insistencia] :)) pero...
prueba ahora con los objetos "forms.image" [que ya deberas tener 'posicionados' en sus rangos]
y los dejas 'en blanco' al salir/cerrar tu libro [y lo guardas 'en limpio' obviamente] :))
[podrias -p.e.- llenarlos de nuevo durante la apertura del libro -en caso de ser necesario-] ;)

tendrias codigos mas 'ligeros/limpios/rapidos/...' [y podras 'conservar/mantener/...' el 'peso' de tus archivos] :D

si cualquier duda... comentas ?
saludos,
hector.


Ivan

unread,
Oct 28, 2006, 5:05:55 AM10/28/06
to
hola chicos

llevo siguiendo el hilo desde el principio con interes, pues tambien
ando liado con imagenes, Queria hacerle una consulta a Hector ->

¿se podria imprimir 'movimiento' a los objetos 'form image' para
usarlos en la presentacion que te comente (http://tinyurl.com/ydcvhm)?.


la verdad es que no lo he mirado, pues cuando vi tu primera mencion a
estos en este hilo, estube haciendo algunas pruebas, pero no consegui
ver las imagenes en el form image (algo haria mal) y desisti, y luego
no he vuelto a probarlo.

un saludo y hasta pronto
Ivan

pd: Antonio, en aquella conversacion hay unas cuantas explicaciones
sobre el riesgo de los shapes, por si quieres echarle un vistazo

http://tinyurl.com/ydcvhm

pejelagarto

unread,
Oct 28, 2006, 10:19:42 AM10/28/06
to
Ke tal HECTOR....

Oye viejo, ya lo intenté hacer con los FORMS.IMAGE; pero resulta que
me hace unos "mega-archivos" como de 60 MB para 5 fotos; o se ke de
plano no. Me parece bien la idea de "dejar" en blanco el libro/hoja al
salir de excel; pero la verdad no sé como sería; a lo mejor solo es
una "LÍNEA" la que hay que agragar al "final del código"; no lo sé.
A lo mejor después le eche ganas a buscarlo; pero por lo pronto, esto
resuelve "mi problema".

Lo mismo que hice en los "rangos" lo hice con los "FORMS.IMAGE" y si
funcionó bien, lo que pasa es que como te digo, me creó un archivo
muy grande.

Claro que son "mejores" los "forms.image"; porque las imágenesno las
"deforma"; si pudieras a portar algo "HECTOR" te lo agradecería de
ante-mano; gracias. Así como lo hice con los "rangos"; pero que fuese
para "forms.image"; estaría de "película".


Saludos a todos... buen día.

pejelagarto

unread,
Oct 28, 2006, 11:18:30 AM10/28/06
to
Ke tal /HECTOR


Exactamente; con los "forms" se omite el tamaño de las "imágenes"; es
decir, no tienes que saber en que "rango de celdas se ajustará", no
tienes que andar adivinando si queda o no en determinado rango de
celdas "adivinando si queda o no bien"; así que sería mejor con los
FORMS; pero que al cerrar el "archivo" se quedaran en "blanco" para que
no pesen los "archivos"; y eso si, que en "nombre" de la "imagen" se
pueda cambiar desde "unca celda para cada foto; sería ESTUPENDO.


Sale Hector/Saludos.....

pejelagarto

unread,
Oct 28, 2006, 11:55:26 AM10/28/06
to
IVAN....

Gracias por el "tip"; definitivamente son se adapta mejor a mi los
"forms"; solo que me hacen los archivos muy "grandes" a la hora de
salir y guardar; me gustaría que al salir del "libro", se pudisen
quedar en "blanco los "forms" para que no queden tan "pesados" los
archivos.


Cualquier ayuda/sugerencia ..... bien recibida.

Héctor Miguel

unread,
Oct 28, 2006, 5:22:00 PM10/28/06
to
hola, Ivan !

> se podria imprimir 'movimiento' a los objetos 'form image' para usarlos en la presentacion [...]

1) [hasta donde se] los controles de imagen de la coleccion 'ms.forms' no son para mostrar 'movimientos' :-(
[ademas] toda imagen que sea mostrata en ellos es 'auto-convertida' al formato de mapa de bits [.BMP]

2) prueba a incrustar en el formulario un objeto WebBrowser [Explorador del Web de Microsoft]
-> selecciona el boton 'mas controles...' de la barra de herramientas cuadro de controles
[te propongo este objeto porque es -casi- seguro que lo encontraras instalado en todo sistema] ;)

a) puedes establecer la imagen que se mostrara en el control con codigo como...
WebBrowser1.Navigate "C:\Ruta y\Carpetas donde esta\miGIFanimado.gif"

b) si vas a estar cambiando de imagenes en el mismo 'contenedor'... [probablemente]
necesitaras 'completar' sentencias html [por si las dimensiones del GIF exceden las del control [p.e.]
WebBrowser1.Navigate _
"about:<html><body scroll='no'><img src='" & _
"C:\Ruta y\Carpetas donde esta\miGIFanimado.gif" & _
"'></img></body></html>"

c) seguramente necesitaras hacer pruebas con mas 'propiedades/eventos/condiciones/...
incluso con otros controles [como el windowsmediaplayer -entre otros-] segun versiones instaladas

-> un ejemplo para el media player pudiera ser +/- como el siguiente:
MediaPlayer1.Filename = "C:\Ruta y\Carpetas donde esta\miAVIanimado.AVI"

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


Ivan

unread,
Oct 28, 2006, 7:42:25 PM10/28/06
to
hola Hector Miguel, como siempre, gracias por tu ayuda

aunque en realidad creo que me he explicado mal en cuanto a 'imprimir
movimiento' se refiere (al final te comento), estoy empezando a probar
los controles que mencionas (bueno, hasta ahora solo he puesto el
WebBrowser en un formulario y estoy intentando comprender sus
propiedades)

y, aunque de momento probablemente no los use para el proyecto, de cara
a no retrasarlo mucho mas (me da la impresion de que debe haber
bastante que investigar en el tema, al menos para comprenderlo), creo
que me pueden venir muy bien de cara a sustituir la actual presentacion
a posteriori, cuando tenga claro algo un poco mas atractivo, aunque
tenga que sustituir algun modulo o lo que haga falta en los archivos
repartidos.

segun vaya avanzando me imagino que acabare consultando/te las dudas,
que supongo surgiran por doquier..

en cuanto a mi consulta, en realidad me referia a imprimir
desplazamiento y variacion de tamaño a los controles Form Image a
traves de una hoja asi como a las fotos contenidas en ellos (por
cierto, y solo por confirmarlo, ¿recibiste el archivo con la
presentacion?, no me fio mucho de mi correo -o mas bien de mi uso de
el-), de cara a disminuir el riesgo de corrupcion del archivo

en cualquier caso, una vez comprendidos los conceptos y manera de
'incrustar una vez y vincular' y salvo consejo especifico en contra,
creo que mantendre el uso de los shapes, para no seguir mareando la
perdiz.

bueno, disculpa el rollo, y en cuanto me meta en el fregado de las
animaciones te comento

Héctor Miguel

unread,
Oct 28, 2006, 7:54:46 PM10/28/06
to
hola, Ivan !

__ 1 __
> ... me referia a imprimir desplazamiento y variacion de tama#o a los controles Form Image


> a traves de una hoja asi como a las fotos contenidas en ellos

1) si es posible, [solo que] me parace que 'en tu caso' se trataria de un 'doble trabajo' :-(
[ajustar las dimensiones y posicion... primero del 'contenedor' y luego de 'la imagen'] -?-

__ 2 __


> (por cierto, y solo por confirmarlo, recibiste el archivo con la presentacion?

> no me fio mucho de mi correo -o mas bien de mi uso de el-)

> de cara a disminuir el riesgo de corrupcion del archivo [...]

2) acuso recibo :) [es solo que 'el tiempo' no ma de para mucho] :D

saludos,
hector.


Ivan

unread,
Oct 28, 2006, 8:02:05 PM10/28/06
to
gracias Hector

no hay problema ni prisas

un saludo
Ivan

0 new messages