Re: Link a Imagen

05/09/2005 - 14:41 por gabriel | Informe spam
Muchas gracias la rutina q me pasaron anda barbaro
(http://tinyurl.com/8nszd)

Ahora una pregunta un poco tecnica, como hago para escribir esa rutina 2
veces.
Es decir quiero q me aparezcan 2 fotos.
Se puede duplicar la rutina y solo cambiarle los parametros necesarios ?

Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
05/09/2005 - 16:23 | Informe spam
hola, gabriel !

... la rutina... anda... (http://tinyurl.com/8nszd)
... como hago para... q me aparezcan 2 fotos.
Se puede duplicar la rutina y solo cambiarle los parametros necesarios ?



copio/pego una variacion de las rutinas en el enlace :)
=> ... c13:e42 (...alumnos...asistencia) ... c57:e86 (...alumnos...practica)
... columna...direccion...fotos es...AM
... aj2:ak8...fotos de la primera planilla...aj46:ak52...segunda planilla.
... misma foto en dos lugares.
... Iba a prometerte que despues de esta no te jorobo mas
... pero no se si voy a necesitar otra respuesta. :-))



['vamos a ver' si entendi 'completo'] :))
en el modulo de codigo de 'la hoja' ==Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Foto1 As Object, Foto2 As Object, _
Arriba As Double, Izquierda As Double, _
Ancho As Double, Alto As Double
Static Fila As Integer: On Error Resume Next
If Target.Row = Fila Then Exit Sub
Application.ScreenUpdating = False
Me.Shapes.Range(Array("Foto1", "Foto2")).Delete
Select Case Target.Row
Case 13 To 42, 57 To 86
If Dir(Range("am" & Target.Row)) = "" Then Exit Sub
Set Foto1 = Me.Pictures.Insert(Range("am" & Target.Row))
With Range("aj2:ak8")
Arriba = .Top: Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto1
.Name = "Foto1": .Top = Arriba: .Left = Izquierda: .Width = Ancho: .Height = Alto
End With: Set Foto1 = Nothing
Set Foto2 = Me.Pictures.Insert(Range("am" & Target.Row))
With Range("aj46:ak52")
Arriba = .Top: Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto2
.Name = "Foto2": .Top = Arriba: .Left = Izquierda: .Width = Ancho: .Height = Alto
End With: Set Foto2 = Nothing
End Select: Fila = Target.Row
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#2 gabriel
07/09/2005 - 09:54 | Informe spam
Donde escribo ese codigo ?

Yo ahora estoy usando este y anda barbaro pero quiero que me de la
posibilidad de insertar 2 fotos en vez de 1.

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:\" & [a1] & ".bmp" 'Aqu? va la ruta donde est?n las im?genes
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)
With Me.Range("f1:h6")
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

"Héctor Miguel" wrote in message
news:
hola, gabriel !

> ... la rutina... anda... (http://tinyurl.com/8nszd)
> ... como hago para... q me aparezcan 2 fotos.
> Se puede duplicar la rutina y solo cambiarle los parametros necesarios ?

copio/pego una variacion de las rutinas en el enlace :)
=> > ... c13:e42 (...alumnos...asistencia) ... c57:e86


(...alumnos...practica)
> ... columna...direccion...fotos es...AM
> ... aj2:ak8...fotos de la primera planilla...aj46:ak52...segunda


planilla.
> ... misma foto en dos lugares.
> ... Iba a prometerte que despues de esta no te jorobo mas
> ... pero no se si voy a necesitar otra respuesta. :-))

['vamos a ver' si entendi 'completo'] :))
en el modulo de codigo de 'la hoja' ==> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Foto1 As Object, Foto2 As Object, _
Arriba As Double, Izquierda As Double, _
Ancho As Double, Alto As Double
Static Fila As Integer: On Error Resume Next
If Target.Row = Fila Then Exit Sub
Application.ScreenUpdating = False
Me.Shapes.Range(Array("Foto1", "Foto2")).Delete
Select Case Target.Row
Case 13 To 42, 57 To 86
If Dir(Range("am" & Target.Row)) = "" Then Exit Sub
Set Foto1 = Me.Pictures.Insert(Range("am" & Target.Row))
With Range("aj2:ak8")
Arriba = .Top: Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto1
.Name = "Foto1": .Top = Arriba: .Left = Izquierda: .Width = Ancho:


.Height = Alto
End With: Set Foto1 = Nothing
Set Foto2 = Me.Pictures.Insert(Range("am" & Target.Row))
With Range("aj46:ak52")
Arriba = .Top: Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto2
.Name = "Foto2": .Top = Arriba: .Left = Izquierda: .Width = Ancho:


.Height = Alto
End With: Set Foto2 = Nothing
End Select: Fila = Target.Row
End Sub

saludos,
hector.


Respuesta Responder a este mensaje
#3 Héctor Miguel
07/09/2005 - 10:10 | Informe spam
hola, gabriel !

Donde escribo ese codigo ?



-> igual que el que ya estas usando... en el modulo de codigo de la hoja 'apropiada' ;)
[claro que falta 'adaptar' los supuestos del mensaje al que se responde con los 'reales' de tu situacion] :)

... ahora estoy usando este... pero quiero... la posibilidad de insertar 2 fotos en vez de 1 [...]



1) en donde se ubicaran ambas fotos ? [une en... y la otra en...]
2) se va a tratar de 'la misma' foto en ambar ubicaciones ? [o seran fotos distintas]
3) de donde hay que 'tomar' la ruta a cada foto
4) en que momento quieres que se 'actualice' cada foto ?

comentas datos adicionales?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida