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
gracias.....
> 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.
Te agradezko tu AYUDA.
Gracias de ANTE-MANO.
===============================================================================
_____________________________________________________________________________
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.
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.
=================================================================================
================================================================================
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.
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.
http://www.mooload.com/new/file.php?file=files/281006/1161990097/insertar+Imag.+con+pausa.zip
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,
> 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.
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
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.
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.....
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.
> 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.
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
__ 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.
no hay problema ni prisas
un saludo
Ivan