Capturar foto desde formulario

Quisiera saber si me pudieras apoyar en como capturar una foto desde un formulario en excel vba, es para una plantilla de empleados y quiero que al agregar nuevos empleados con un botón se pueda tomar la foto desde una webcam y lleve el dato de la ubicación a un textbox.

1 respuesta

Respuesta
1
Bueno aquí te envío la solución al problema aunque no es muy elegante. No he encontrado nada mejor. Además tendrás que adaptarla a tus necesidades.
Supongo que tienes un formulario con un botón, un textbox y una imagen. Al inicializarlo se crea una hoja para cosas temporales. O bien la borras al acabar o bien compruebas que ya existe antes de intentar crearla. Si no te dará error la segunda vez que ejecutes el formulario y siguientes. Esto te lo dejo a ti.
Const htmp = "TmpGif"
Const fgif = "foto"
Const mipath = "c:\" 'debe acabar en \ el directorio donde guardar las fotos
Private Sub UserForm_Initialize()
'Crea la hoja para guardar temporalmente la foto
'ThisWorkbook.Worksheets.Add().Name = htmp
Sheets(htmp).ChartObjects.Add(0, 0, 200, 250).Name = fgif
End Sub
Luego en el código del botón de captura:
Private Sub CommandButton1_Click()
Dim fichero As String
Dim s As Shape
Application.CommandBars.FindControl(ID:=1764).Execute
'es necesaria una hoja creada al inicio para la captura
'luego se puede borrar
'al grabar se crea una copia en la hoja que es un shape
Selection.Copy
Sheets(htmp).ChartObjects(fgif).Activate
ActiveChart.ChartArea.Select
ActiveChart.Paste
fichero = mipath & fgif & ".gif"
ActiveChart.Export Filename:=fichero 'graba en disco la foto
Me.Image1.Picture = LoadPicture(fichero)
Me.TextBox1.Text = fichero
'limpio la foto pegada y el chart
For Each s In Sheets(htmp).Shapes
s.Delete
Next s
End Sub
Tendrás que cambiar las constantes a tu gusto o necesidades, así como probablemente quieras un contador para ir cambiando el nombre de la foto a medida que guardas (foto1.gif, foto2.gif...) Eso te lo dejo también a tu criterio
Para que esto te funcione tienes que tener el driver de la webcam funcionando.
Ya me dirás si te sirve.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas