5 votos

Macro de PowerPoint para Mac - cargar imágenes como "Insertar álbum de fotos"

PowerPoint en el Mac no tiene la funcionalidad de Insertar Álbum de Fotos que permite seleccionar imágenes y crear nuevos PPT con una imagen en cada diapositiva.

Tengo una vieja macro que hace esto en Windows--pero Mac no soporta Application.FileDialogue

¿Cómo puedo configurar esto para que funcione en Mac?

Muchas gracias.

'This is the Windows code - won't work on Mac
Dim curSlide As Slide
Dim oPic As Shape
Dim Pres As Presentation
Dim picCount As Integer
Dim i As Integer
Dim fd As FileDialog

Set Pres = ActivePresentation

  'Add selected pictures from directory
   picCount = 1
   Set fd = Application.FileDialog(msoFileDialogFilePicker)
       With fd
           .Title = "Select image files and click OK"
           .Filters.Add "Images", "*.gif; *.jpg; *.jpeg; *.bmp; *.tif; *.png"
           .FilterIndex = 2

           If .Show = -1 Then
             For i = 1 To .SelectedItems.Count

                Set curSlide = ActivePresentation.Slides.Add(ActivePresentation.Slides.Count + 1, ppLayoutBlank)
                Set oPic = curSlide.Shapes.AddPicture(FileName:=.SelectedItems(i), _
                    LinkToFile:=msoFalse, _
                    SaveWithDocument:=msoTrue, _
                    Left:=0, _
                    Top:=0, _
                    Width:=-1, _
                    Height:=-1)

         Next i

         End If

        End With

0 votos

Sólo para comprobarlo: ¿te ha servido de algo mi respuesta o sigues con el palo?

1voto

Monomeeth Puntos 139

Yo me olvidaría de tu macro basada en VBA desde PowerPoint para Windows y en su lugar crearía un servicio para MacOS que puedas utilizar siempre que quieras, incluso directamente desde PowerPoint. Para ello tendrás que utilizar Automator para crear un servicio que ejecute un script de Apple.

Crear un servicio con Automator

  1. Inicie Automator (normalmente se encuentra en su carpeta de aplicaciones)

  2. Vaya a Archivo > Nuevo

  3. Seleccione Servicio y haga clic en Elegir ( Nota: en MacOS Mojave y superior, seleccione la opción Acción rápida)

  4. En la parte superior derecha de la ventana que aparece, asegúrese de que está seleccionada la opción "Sin entrada" en el apartado El servicio recibe lista desplegable

  5. Asegúrese de que el En La lista desplegable muestra "Cualquier aplicación"

  6. En la segunda columna que contiene la lista larga, busque "Ejecutar AppleScript" y haga doble clic en ella

  7. Esto añadirá la ventana Ejecutar AppleScript a la derecha

  8. Ahora, sustituir el (* Su guión va aquí *) con el siguiente guión 1 :

    tell application "Finder" to set frontmost to true
    tell application "Finder" to set picFolder to every file in folder (choose folder)
    log (count picFolder)
    
    tell application "Microsoft PowerPoint"
        activate
        set newPres to make new presentation
        --set properties of slide 1 of active presentation to {layout:slide layout blank}
        set theSlide to make new slide at end of newPres with properties {layout:slide layout blank}
        repeat with xName in picFolder
            make new picture at end of last slide of active presentation with properties {file name:(xName as text), top:0, left position:0, height:541, width:722, lock aspect ratio:true} --makes pictures full sized
            make new slide at end of active presentation with properties {layout:slide layout blank}
        end repeat
    end tell
  9. Guarde el servicio con un nombre significativo (por ejemplo, Crear álbum de fotos PP).

Ahora debería poder ejecutar el servicio desde cualquier aplicación, no sólo desde PowerPoint. Puede hacerlo yendo a la lista de servicios dentro del menú de cualquier aplicación (por ejemplo, PowerPoint > Servicios, Finder > Servicios, Safari > Servicios, TextEdit > Servicios, etc.) y seleccionando el servicio que acaba de crear.

Notas:

  • Cuando se ejecute, se abrirá una ventana del Finder pidiéndote que selecciones la carpeta que contiene tus imágenes. Una vez seleccionada, haz clic en el botón Choose botón. PowerPoint abrirá entonces una nueva presentación en blanco e insertará todas las imágenes de la carpeta seleccionada en su propia diapositiva.
  • No es necesario que PowerPoint esté ya abierto cuando se ejecute el servicio, pero se ejecutará más rápidamente si lo está.
  • También puede optar por crear un atajo de teclado para ejecutar automáticamente el Servicio por usted. Puedes hacerlo desde Apple > Preferencias del Sistema > Teclado - sólo tienes que seleccionar la pestaña Atajos, elegir Servicios en la parte izquierda y escoger el Servicio que has creado en la parte derecha.

1. Este es un viejo script que adapté de uno que encontré en la web hace algunos años para usarlo con MS Office 2011. No recuerdo de dónde obtuve el script original, pero puedo dar fe de que sigue funcionando con la última versión de MS PowerPoint.

0 votos

Hola Monomeeth - gracias por esto. Necesito hacer más cosas en las diapositivas, como formatearlas, etc., una vez que están en el PPT, así que estoy investigando cómo ejecutar AppleScript como parte de una macro de PPT más grande. Te haré saber si tengo algún problema con esto. (Probablemente serán 1-2 semanas más).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X