Ver Mensaje Individual
  #18 (permalink)  
Antiguo 14/08/2010, 23:41
emicsys
 
Fecha de Ingreso: agosto-2010
Mensajes: 2
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Power Point: cómo extraer imágenes

Por lo que entiendo tu intención no es extraer imágenes desde Power Point sino cargarlas en las dapositivas. Si este es el caso podrían darse dos situaciones: Una, es que dentro de un grupo de imágenes alojadas dentro de una carpeta algunas estén rotadas. En este caso debes posicionarte en la carpeta y selecionar por ejemplo todas las imágenes que se encuentren giradas a la derecha. Una vez seleccionadas debes hacer click en el boton derecho del mouse y elegir la opción girar en sentido contrario a las agujas del reloj.
La segunda opción es que las imágenes estén bien orientadas pero que en algunas de ellas el alto es mayor que el ancho y en otras suceda lo contrario.
Para automatizar la carga de imágenes en Power Point lo mejor es usar VBA.
Tu podrías crear una rutina que agregue 500 diapositivas igual a la dipositiva Nº 1 y luego otra que te cargue una por una las quinientas imágenes contenidas en una carpeta. La tercera rutina seria de ajuste de tamaño, en la cual podrías establecer que el tamaño del alto de la imagen sea por ejemplo de un 80% del alto de la diapositiva, pero que para aquellos casos en que el ancho se convierta en demasiado grande, la imagen vuelva a ajustarse para no superar por ejemplo el 90% de la diapo. Otra rutina sería la encargada de centra las imágenes. Por cierto que me refiero a rutinas que recorren toda la presentación y ejecutan estos cambios diapositiva por diapositiva. En lo personal y para agilizar la generación de código prefiero Office XP ya que te permite grabar macros y luego estudiar su código en VBA.
El código sigiente sería el que cooresponde a una macro para agregar diapositivas en forma masiva,

Sub AgregarDiapositivas()

Dim CantidadDeDiapositivas As Integer
' Si se produce un error, construir el mensaje de error
On Error Resume Next ' Inicializa el controlador de error.


CantidadDeDiapositivas = InputBox("¿Cuántas diapositivas desea agregar?", Diapositivas, 50, 500, 500)
For CantidadDeDiapositivas = 1 To CantidadDeDiapositivas
ActiveWindow.View.GotoSlide (1)
ActiveWindow.Selection.SlideRange(1).Copy
ActiveWindow.View.Paste

Next CantidadDeDiapositivas



' Comprueba el error, después muestra un mensaje.
If Err.Number <> 0 Then
MsjError = "Error Nº " & Str(Err.Number) & " fue generado por " _
& Err.Source & Chr(13) & Err.Description
MsgBox MsjError, , "Error", Err.HelpFile, Err.HelpContext
End If

End Sub