Limpiar PPT
En este apunte explico cómo crear una Macro VBA para eliminar slides master (patrones) no utilizadas en un fichero Powerpoint, dedicado a mi amigo Alfonso. :-)
La solución es sencilla, hay que borrar las no utilizadas, pero a veces es tal el número de slides “maestras” que el trabajo de ir borrándolas a mano es muy tedioso.
Con una Macro es mucho más fácil.
- Herramienta->Macro->Macros
- Darle un nombre: “BorrarPatrones” y pulsar en Crear.
- Lanza el editor Visual Basic, con una macro vacía.
- Sustituimos lo que nos presenta
Sub BorrarPatrones()
End Sub
- por lo siguiente
Sub BorrarPatrones()
' Preparar variables
Dim aPresentation As Presentation
Set aPresentation = ActivePresentation
Dim iDesign As Integer
Dim iLayout As Integer
' Ignorar un error al intentar borrar y continuar. El unico
' error que puedo recibir es precisamente que no puede borrar
' una utilizada, lo cual es bueno :), lo ignoro y paso a la siguiente
On Error Resume Next
' Loop para recorrer Diseños y sus Layouts
With aPresentation
For iDesign = 1 To .Designs.Count
For iLayout = .Designs(iDesign).SlideMaster.CustomLayouts.Count To 1 Step -1
' Elimino el layout
.Designs(iDesign).SlideMaster.CustomLayouts(iLayout).Delete
Next
Next iDesign
End With
End Sub
En la barra de herramientas del editor de Visual Basic pulsar en el “PLAY” para que ejecute la macro. Dependiendo del tamaño de tu presentación y el número de slides patrones que tengas terminará en unos segundos o en minutos.
Cuando termine, salvar el archivo, avisará que si lo haces se perderá la macro, seguir adelante dado que la Macro la podemos ignorar, ya no la necesitamos más, volver a abrirlo y veréis que los patrones han desaparecido, bueno, los no usados.
Esta mañana lo ejecuté en un PPT de 50MB con cientos de slides master y tardó 7 min en terminar, así que paciencia. Por cierto, lo dejó en 33MB :-)