Cargar imágenes Con formulario

Necesito que me ayuden con lo siguiente:
Tengo un formulario donde ingreso unas reparaciones a una base de datos de excel, pero cada reparación tiene un registro fotográfico, necesito un examinador que me permita cargar la fotografía correspondiente a la reparación y guardarla en la base de datos con macros.

1 respuesta

Respuesta
1
Vamos a ver antes de poder hacer lo que pides hay que tener una serie de premisas en la organización de tus fotos.
1º Que conozcas el nombre de la foto
2º Que las tengas todas en la misma carpeta
3º Que todas tengan la misma extensión por ejemplo ".JPG"
Ahora ya teniendo todo en su sitio tan solo tendrás que pinchar en la celda donde quieras que aparezca la foto y ejecutar esta macro:
Sub InsertarImagen()
'Aquí un Inputbox te pedirá que pongas el nombre la foto ¡OJO! sin la extensión
NombreArchivo = InputBox("¿Nombre de la Foto?", "Insertar Foto", 1)
'Aquí debes poner la ruta donde estan todas tus fotos yo te he puesto un ejemplo pero puedes elegir la ruta de tu carpeta. Ves que la extensión va fija en la macro si tu guardas las fotos con otra extensión debes de corregirlo
ActiveSheet.Pictures.Insert( _
"C:\Mis Documentos\Mis Imagenes\" + NombreArchivo + ".jpg").Select
End Sub
Y ya lo tienes echo, cada vez que pinches en una celda y quieras insertar una foto ejecutas la macro pones el nombre y te la insertará.
Hola Julio
No me funciona me dice que no se puede obtener la propiedad insert de la clase pictures
¿Primero con que Office estas trabajando es el 2007?, después quiero que en una hoja de excel sigas estos pasos, posiciónate en una celda, Menu insertar imagen desde archivo, busca tu imagen y aceptas, ¿te la muestra en la hoja de excel? Aclarame estas preguntas y seguiremos.
Hola julio
El office que estoy manejando es el xp 2002, y al insertar una imagen si me la muestra en la hoja de excel muchas gracias,
Carolina
Es muy raro que desde excel si puedas cargar las imágenes y desde visual no, vamos a hacer una prueba.
1º Pinchas en Herramientas, macro, grabar una macro. Le pones un nombre y la guardas en este libro.
2º Ahora trabaja de forma normal para insertar una imagen, Insertar, imagen desde archivo, eliges una y cuando la veas en la hoja, pinchas en herramientas, macro detener grabación.
3º Borra la imagen y abres otra vez herramientas macro, te saldrá una ventana con el nombre de tu macro que acabas de grabar, pincha en ejecutar y me dices si te sale el error o se inserta la imagen correctamente.
4º Si se inserta la imagen vuelves a abrir herramientas macros, y cuando te salga la tuya le pinchas en modificar y me copias el código y me lo pones aquí.
Hola julio creo que el problema no esta al insertar la imagen si no al escoger el archivo que quiero cargar, pero veo un problema yo necesito relacionar cada registro con una imagen no se si haya forma mejor de hacer hipervinulos a la imagen para que no me inserte una imagen tan grande en la hoja si no en la celda
mira el código funciona bien
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 06/01/2009 por dmarin
'
'
Range("B3").Select
ActiveSheet.Pictures.Insert( _
"C:\Documents and Settings\dmarin.UNIBAN\Escritorio\684014.jpg").Select
Application.CommandBars("Task Pane").Visible = False
End Sub
Mil gracias Carolina
Vamos a ver si a cada registro le vas a añadir una imagen el documento en cuanto tengas bastantes registros va a ser de un tamaño enorme, y te costará cargarlo y fácilmente podrás tener la posibilidad de que se corrompa. Además si la imagen la reducimos tanto como para ponerla en una celda, ni se verá lo que contiene. Yo te recomendaría que lo que insertaras fuese un hipervínculo a la imagen, tú en una carpeta vas metiendo todas las imágenes con su nombre relacionado al numero de registro, y utiliza una columna que puedes llamar imágenes para insertar el hipervínculo a la foto, así con solo pinchar en el hipervínculo te mostrará la foto pero no estará cargada en el libro de Excel. La forma es la siguiente, pinchas en la celda que quieras tener el hipervínculo, y eliges insertar hipervínculo, buscas tu foto y la insertas, con eso ya las tendrás todas y se abrirán con pinchar en el hipervínculo.
Yo eso lo se, pero es que tiene que ser con una macro por medio de un formulario
Vamos a ver tu tienes que rellenar el formulario con los datos que sean y añadirle una foto como un dato más, en cada registro será una foto distinta la macro no puede saber que foto quieres insertar tu debes de elegirla, incluso en la macro que te hice tenias que poner en el InputBox el nombre de la foto, si quieres también se puede usar para insertar el hipervínculo sería esta la macro:
Sub InsetaHiperlink()
'Aquí un Inputbox te pedirá que pongas el nombre la foto ¡OJO! Sin la extensión po ejemplo 684014 como pones en tu mensaje

NombreArchivo = InputBox("¿Nombre de la Foto?", "Insertar Hipervínculo", 1)
'Aquí debes poner la ruta donde estan todas tus fotos yo te he puesto lo que tu pones en tu mensaje pero puedes elegir la ruta de tu carpeta. Ves que la extensión va fija en la 'macro si tu guardas las fotos con otra extensión debes de corregirlo aunque en tu mensaje sí son .jpg

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"C:\Documents and Settings\dmarin.UNIBAN\Escritorio\" + NombreArchivo + ".jpg", TextToDisplay:= _
"C:\Documents and Settings\dmarin.UNIBAN\Escritorio\" + NombreArchivo + ".jpg"
End Sub
Ahora espero que te lo solucione.
¿Es posible después de agregar el hipervínculo en el formulario visualizala en el formulario con la herramienta imagen?
Eso no lo puedes hacer para ver la imagen te la mostrará el editor de imágenes predeterminado de cada pc, se abrirá el editor de imágenes. Lo siento

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas