Forums Últimos mensajes - Powered by IBM
 

Disculpen, Como ver fotos en un control Image insertado en un Form

27/09/2007 - 03:43 por OsoPolar | Informe spam
Hola Buenas Noches.

EXCELentes compañeros he tratado se hacer un archivo de control para
un pequeño almacen bajo las siguientes condiciones;

a) Tengo una carpeta en C:\ con fotos.jpg asociadas n equipos
b) En una hoja1 tengo la base de datos de n equipos
c) Necesito un Form1 con un control Image1 para ver las fotos (una a
la vez)
d) A medida que traslade por las filas quisiera ver la foto
correspondiente en el Image1

Use el siguiente codigo, pero tengo el problema;

Codigo formulario:

Private Sub UserForm_Initialize()

Dim Pic As String
Pic = "C:\Yand\" & ActiveCell.Value & ".jpg"
Image1.PictureSizeMode = 3
Image1.Picture = LoadPicture(Pic)

End Sub

Codigo Hoja 1;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not (Intersect(Target, [B:B]) Is Nothing) Then
UserForm1.Show
End If
End Sub

Problemas;

a) Los registros tienen que estar en la columna B
b) Cuando selecciono un registro me muestra la foto, pero si
metraslado a otra fila no se actualiza automaticamente.

Anticipo muchas gracias...
 

Leer las respuestas

#1 Héctor Miguel
27/09/2007 - 05:26 | Informe spam
hola, 'anonimo' !

prueba insertando el control de imagen de la coleccion 'Microsoft Forms 2.0 Image' *directamente* en la hoja
no a traves de un formulario que [asumiendo que se llame 'Image1'] es al que hace referencia el siguiente ejemplo:

copia/pega las siguientes lineas en el modulo de codigo de *esa* hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [b:b]) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Dim De_donde As String
De_donde = "c:\yand\" & Target & ".jpg"
With Me.Image1
If Dir(De_donde) = "" Then .Visible = False: Exit Sub
.Picture = LoadPicture(De_donde)
.PictureSizeMode = fmPictureSizeModeZoom
.Visible = True
End With
End Sub

[probablemente] habria que ir *moviendo* la posicion del control de imagen -?-
-> dependiendo del numero de filas que contengan datos de imagenes a mostrar

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

p.d. un poquitin de [mas] paciencia... *es sano* :D

__ la consulta original __
... hacer un archivo de control para un peque#o almacen bajo las siguientes condiciones;
a) Tengo una carpeta en C:\ con fotos.jpg asociadas n equipos
b) En una hoja1 tengo la base de datos de n equipos
c) Necesito un Form1 con un control Image1 para ver las fotos (una a la vez)
d) A medida que traslade por las filas quisiera ver la foto correspondiente en el Image1
Use el siguiente codigo, pero tengo el problema;
Codigo formulario:

Private Sub UserForm_Initialize()
Dim Pic As String
Pic = "C:\Yand\" & ActiveCell.Value & ".jpg"
Image1.PictureSizeMode = 3
Image1.Picture = LoadPicture(Pic)
End Sub

Codigo Hoja 1;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not (Intersect(Target, [B:B]) Is Nothing) Then
UserForm1.Show
End If
End Sub

Problemas;
a) Los registros tienen que estar en la columna B
b) Cuando selecciono un registro me muestra la foto, pero si metraslado a otra fila no se actualiza automaticamente.

Preguntas similares