VBA-Foto se carga de manera volteada en formulario

Al cargar una imagen en un cuadro de imagen, esta se carga volteada, es decir en 180° siguiendo manecillas del reloj, y no como esta en la carpeta original desde donde hago el llamado (HORIZONTAL)

1 respuesta

Respuesta
1

Revisa el código en esta respuesta:

Girar Foto al cargar en un formulario.

Ya revise el código del ejemplo pero al parecer usan un método de copiar la imagen a una hoja y rotarla desde ahí. No logro adaptarlo a mi formulario.

Llamo las imágenes a través del siguiente código simple. desde el listBox, evento Click

DNI1.Picture = LoadPicture(ActiveWorkbook.Path & "\FOTOS\" & DNI & "-1.JPG")
DNI2.Picture = LoadPicture(ActiveWorkbook.Path & "\FOTOS\" & DNI & "-2.JPG")

En la carpeta raíz las fotos están en horizontal. 

Como detalle las fotos las tome desde una cámara celular y a pasar al repositorio del disco duro aparecían en el angulo mostrado en el formulario. "las gire -90° para que estén en horizontal. pero como se ve en el formulario de todas maneras se ve en el angulo ya mencionado. 

Prueba lo siguiente.

Reemplaza esta línea

DNI1.Picture = LoadPicture(ActiveWorkbook.Path & "\FOTOS\" & DNI & "-1.JPG")

Por todo este código:

  'girar imagen
  Dim h2 As Worksheet
  Dim fotografia As Object
  Dim ArchivoIMG As String, ruta As String
  ruta = ActiveWorkbook.Path & "\FOTOS\"
  ArchivoIMG = ruta & DNI & "-1.JPG"
  Application.DisplayAlerts = False
  Application.ScreenUpdating = False
  Set h2 = Sheets.Add
  Set fotografia = ActiveSheet.Pictures.Insert(ArchivoIMG)
  With fotografia
    .ShapeRange.Rotation = -90
    .Select
  End With
  Selection.Copy
  '
  h2.Shapes.AddChart
  h2.ChartObjects(1).Select
  With Selection
    .Width = fotografia.Height
    .Height = fotografia.Width
    .Chart.Paste
    .Chart.Export ruta & "temporal.JPEG"
  End With
  h2.Delete
  '
  DNI1.Picture = LoadPicture(ruta & "temporal.JPEG")
  Application.ScreenUpdating = True
  Application.DisplayAlerts = True

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas