Macro en Poer Point

11 envíos / 0 nuevos
Último envío
tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 1 semana
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
Macro en Poer Point

Buen dia a todos en el foro

nesesito de su ayuda , como puedo cortar una imagen en power poin con una macro

 y tambien centrar la imagen en un lugar en especifico

espero me puedan ayudar

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 5 horas 41 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Bueno, pues lo primero es

Bueno, pues lo primero es referirte a la imagen, podría tener este aspecto (he puesto diapositiva 1 y objeto shape 1, en tu caso será otra cosa)

Dim mi_imagen As Shape

Set mi_imagen = ActivePresentation.Slides(1).Shapes(1) 

y luego con la imagen haz lo que quieras

With mi_imagen
        .Left = 150
        .Top = 55
End With

 
Para recortar la imagen utiliza la propiedad PictureFormat del objeto Shape, que te da acceso a características específicas de las imágenes.
por ejemplo:
With mi_imagen.PictureFormat
        .CropTop = 20
        .CropLeft = 20
End With

 

Un truco: Aunque PowerPoint no tiene grabador de macros, las imágenes las trata igual que en Excel, así que puedes grabar una macro en Excel que ajuste tu imagen para ver cómo lo hace, y luego lo adaptas a PowerPoint

 

------
Ya sé Excel, pero necesito más.

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 1 semana
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
gracias paco

me sorprendes eres un genio gracias si funciono de maravillas Pie en la boca

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 1 semana
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
paco gracias por tu ayuda no

paco gracias por tu ayuda no lo huviera logrado sin tu ayuda

pero como le haria para que realizara lo mismo en dos imagenes ,solo que la otra imagen lleva un corte y ajuste distinto

de echo tengo que hacer esto en 28 slides cada slide tiene 2 imagenes y entodos los slides ua imagn lleva la misma posicion y corte y la segunda lleva otra posicion y corte y en todas haria lo mismo es posible esto paco

saludos..............

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 5 horas 41 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
recorrer una colección

El truco está en los índices de las colecciones, lo que quieres es recorrer una colección de elementos

puedes hacerlo a mano

Slides(1)

Slides(2)

Slides(3)

....

para las formas, pues igual

Shapes(1)

Shapes(2)

 

o puedes recorrer toda la colección con un bucle con un For Each

por ejemplo:

 

Sub test01()

' www.necesitomas.com (para que te acuerdes de mí cuando lo veas en el futuro) 

    Dim mi_Diapositiva As Slide

    Dim mi_imagen As Shape

    For Each mi_Diapositiva In ActivePresentation.Slides

        Set mi_imagen = mi_Diapositiva.Shapes(1)

        ' y aquí haces lo que sea con imagen 1 de la presentación actual

        With mi_imagen

            .Left = 150

            .Top = 55

        End With

        With mi_imagen.PictureFormat

            .CropTop = 20

            .CropLeft = 20

        End With

         Set mi_imagen = mi_Diapositiva.Shapes(2)

            ' y aquí haces lo que sea con imagen 2 de la presentación actual

        With mi_imagen

            .Left = 550

            .Top = 55

        End With

        With mi_imagen.PictureFormat

            .CropTop = 140

            .CropLeft = 180

        End With

    Next

End Sub

 

Con esto yo creo que tienes la idea de cómo se hace, luego tendrás que ver qué número es cada imagen 

Puede que no en todas las diapositivas la imagen se llamen igual o tengan el mismo índice. Depende de mil cosas

 

Por si te sirve también de ayuda, cada imagen tiene un nombre (será Picture 1, PIcture 28, ...)  y también puedes utilizar ese nombre para referirte a un elemento de la colección

Shapes("Picture 28")

 

Si no sigue ninguna lógica, siempre puedes referirte al objeto seleccionado con

ActiveWindow.Selection.ShapeRange.Left=100

aunque tendrías que ir seleccionando a mano las cosas

 

 

 

------
Ya sé Excel, pero necesito más.

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 1 semana
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
ya me funciono en las dos

ya me funciono en las dos imagenes dela primeraa slide me ajusta y corta ,pero mas en el resto de los slides no hace nada

te anexo como lo tengo

Sub test01()

www.necesitomas.com (para que te acuerdes de mí cuando lo veas en el futuro) 

    Dim mi_Diapositiva As Slide

    Dim mi_imagen As Shape

    For Each mi_Diapositiva In ActivePresentation.Slides

        Set mi_imagen = mi_Diapositiva.Shapes(1)

        ' y aquí haces lo que sea con imagen 1 de la presentación actual

With mi_imagen

.Height = 925

.ScaleWidth 0.935, msoFalse, msoScaleFromTopLeft

        .Left = 0

        .Top = 85

End With

'Para recortar la imagen utiliza la propiedad PictureFormat del objeto Shape,

'que te da acceso a características específicas de las imágenes.

'por ejemplo:

With mi_imagen.PictureFormat

        .CropTop = 365

        .CropLeft = 5

        .CropRight = 5

        .CropBottom = 210

End With

Set mi_imagen = mi_Diapositiva.Shapes(2)

' y aquí haces lo que sea con imagen 2 de la presentación actual

With mi_imagen

'.Height = 1200

.Width = 1650

        .Left = 209

        .Top = -270

End With

'Para recortar la imagen utiliza la propiedad PictureFormat del objeto Shape,

'que te da acceso a características específicas de las imágenes.

'por ejemplo:

With mi_imagen.PictureFormat

        .CropTop = 350 'arriba

        .CropLeft = 205 'izq

        .CropRight = 850 'derecha

        .CropBottom = 190 'abajo

End With

 

Next

 

End Sub

tendre mal alguna declaracion en el codigo

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 5 horas 41 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
¿has comprobado que las

¿has comprobado que las imagenes son Shapes(1) y Shapes(2) en todas las diapositivas?

 

------
Ya sé Excel, pero necesito más.

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 1 semana
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
Gracias ya identifique porque

Gracias ya identifique porque me mando falla la macro ,bueno no en si fallas, realmente aqui es donde me gustaria me volvieras apoyar,ya que mis slides tienen textos ,son como 10 slides cada uno con texto distinto y como puedo hacer para que la macro no considere estos textos?

 me gustaria que la macro no me considerara estos textos como imagen o shape , ya que ahi es donde se detiene

saludos espero me puedas ayudar

tetorin
Imagen de tetorin
Offline
última acción: Hace 7 meses 1 semana
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
MACRO PPT

Pie en la bocame gustaria que la macro no me considerara estos textos como imagen o shape , ya que ahi es donde se detiene

saludos espero me puedas ayudar

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 5 horas 41 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
En Power Point todo son

En Power Point todo son Shapes, porque los textos están dentro de cuadros de texto, no hay párrafos como en Word ni celdas como en Excel. En Power point el contenedor es una forma

 

------
Ya sé Excel, pero necesito más.

Matias*122 (no verificado)
Imagen de Matias*122
Buenas tardes Foro,Necesito

[comentario movido a tema nuevo en el foro http://www.necesitomas.com/buenas-tardes-foronecesito]