SkillAgentSearch skills...

PPspliT

A PowerPoint add-in that splits slides according to slideshow-time animation effects

Install / Use

/learn @maxonthegit/PPspliT
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

    _____  _____           _ _ _______
   |  __ \|  __ \         | (_)__   __|
   | |__) | |__) |__ _ __ | |_   | |
   |  ___/|  ___/ __| '_ \| | |  | |
   | |    | |   \__ \ |_) | | |  | |
   |_|    |_|   |___/ .__/|_|_|  |_|
                    | |
                    |_|  by Massimo Rimondini

PPspliT is a PowerPoint add-in that transforms each slide of a presentation into a sequence of slides, each displaying the contents of the original slide as they would appear at every intermediate animation step. As such, its most natural context of application is to produce a redistributable version of a presentation in a flat file format like PDF.

To some extent, PowerPoint already provides export functions that are meant to include animations in the target file (e.g., it can export a presentation as a video). However, to my knowledge, a true conversion of existing slides into an equivalent sequence of static (i.e., animation-less) slides that is suitable for printing or PDF export has never been natively offered by PowerPoint. PPspliT tries to fill this gap.



Features

  • User experience
    • Fully integrated with PowerPoint: it is natively implemented in Visual Basic for Applications (VBA).
    • Adds a new tab in PowerPoint's native ribbon toolbar (or dedicated toolbar for PowerPoint releases prior to 2007): splitting slides is a one-click task.
    • Can operate on a range of selected slides or on the whole presentation, if no slides are selected.
  • Capabilities
    • Supports all entry, emphasis, exit and motion path effects applied to slide shapes (with some caveats, see below).
    • Supports "Rewind when done playing", "Hide on next mouse click" and "Auto-reverse" effect flags, as well as reversed motion paths.
    • Can split slides at every click-triggered animation effect (like it would happen during a slideshow) or at each and every animation effect (useful to preserve multiple intermediate animations that are played without any speaker interaction).
    • Updates custom slideshows by replacing each slide with those that result from splitting it. Custom slideshows are actually named sequences of slides from the full deck and, besides being used at presentation time, they can also be selected as predefined slide ranges when printing. Therefore, this feature can be exploited to conveniently export (by printing to PDF) slide subsequences that are predefined in the form of custom slideshows.
    • Can optionally preserve slide numbers during splitting: if slide footers contain text frames with dynamically computed slide numbers, these can be overwritten so that numbers in all the slides resulting from splitting a single original slide match its original slide number.
    • Operates with native PowerPoint shapes: the slides produced after the split are derived from the original presentation and still contain editable shapes.
    • Format-agnostic: since the final product is still a slide deck, you can export it to any document format for which you have a virtual printer or file converter installed. PDF is implicitly supported, as PowerPoint has been including an export function to this format for a few years now.

Some examples displaying the operation of the add-in can be found in the [project home page][Home page].

Usage

Simply click on the "Split animations" button of the PPspliT toolbar. Using the appropriate checkboxes on the same toolbar, you can choose to split slides on animation effects that are triggered by a mouse click (most common usage) or just every animation effect (this may be especially slow). You can also choose to preserve slide numbers during the split.

Usage instructions are also available.

Notice: in all releases older than 2.0 the add-in makes heavy use of the system clipboard. Therefore, it is very important that you refrain from using it during the split and that no programs interfere with the clipboard at all. Effective since release 2.0, this requirement has been relaxed, and the system clipboard can be safely used while a slide deck is being split.

Warning: running the add-in will modify your presentation. Even though it is generally possible to revert the changes using the undo feature (Ctrl+Z), it is strongly advised to work on a copy of the original slide deck to avoid losing your work by accidentally overwriting it with the split presentation.

It may take a while for the split process to complete. If you are wondering

  1. why so much code and
  2. why does it take so long to split animations

here are some hints:

  • PowerPoint applies slideshow effects to rasterized versions of the shapes. Instead, in PPspliT the same effects are re-implemented on the original shape objects.
  • VBA has some sparse bugs here and there, which allow limited or no access to shape properties. I needed to work these around to my best.
  • Each animation step requires creating a new slide, which is time consuming.
  • For each animation step, all the shapes that are supposed to appear later on by means of a subsequent entry effect or to have disappeared because of a preceding exit effect must be appropriately removed.

Building

As PPspliT is implemented as a VBA macro inside PowerPoint, there is no true build procedure. The source code is embedded in PowerPoint binary files that are saved as native PowerPoint add-ins: this is also the reason why changes are tracked in separate files (e.g., PPspliT.bas).
The only step that requires building is the generation of distributable installers.

Prerequisites

Packaging for Windows

  • Edit the VBA macro inside PPT12+\PPspliT.pptm as needed, then prepare the file as follows:
    • Update the release number if required (also in the about dialog box).
    • Save the file (PPspliT.pptm).
    • Export each module from the Visual Basic for Applications editor into corresponding .bas, .frm and .frx files.
    • Export the whole file as a PowerPoint add-in (PPspliT.ppam).
    • Open PPspliT.pptm using the Office 2007 Custom UI Editor or the Office RibbonX Editor, update the release number if required, and save the file.
    • Do the same for PPspliT.ppam.
  • Apply consistent changes to file PPT11-\PPspliT.ppt, save it, export each module and export the whole PPT file as a PowerPoint 97-2003 add-in (PPspliT.ppa).
  • Edit file ppsplit_installer.nsi to refresh the release number if required.
  • Process file ppsplit_installer.nsi through NSIS (usually it is enough to right-click on the file and select "Compile NSIS script"). File PPspliT-setup.exe should then be generated in the parent folder.

Packaging for MacOS

  • Apply changes to PPspliT.pptm and export it as PowerPoint add-in PPspliT.ppam as described above for the Windows case.
  • Open file MacOS/PPspliT for MacOS/Install PPspliT.app using Apple's Script Editor.
  • Refresh resource PPspliT.ppam inside the script by dragging and dropping the updated PPspliT.ppam inside the Script Editor.
  • Save the installer and close the Script Editor.
  • Open a Terminal window and run script MacOS/PPspliT for MacOS/build_macos_dmg.sh to generate file PPspliT.dmg.

Known limitations

Yes, the list is apparently long, but please look carefully through it because it consists mostly of corner cases.

  • PPspliT does not offer any PDF conversion functions: it is not meant to. It just processes a presentation to split animations, then it is up to your favorite PDF generation software or PowerPoint's native PDF export function to generate the final PDF (or whatever other document format).
  • PPspliT does not preserve animation effects: the slide deck resulting from a split accurately renders the status of the slideshow at each intermediate animation step, but every slide is cleared of all animation effects. This means that you cannot have "moving shapes" in your final flat (PDF) document. Even if animations were preserved in the slides, embedding them in the final document would require advanced processing functions for every possible output document format, which is out of the scope of PPspliT, and would lead to much less portable documents.
  • All of the add-in features are implemented for all PowerPoint versions, but minor glitches may exist with versions prior to 2007, sometimes due to VBA limits or bugs.
  • Some functions are knowingly unsupported and may never be implemented:
  1. Slide transitions — Since they are meant to smoothen slide changes, they have no persistent effects on their contents, hence no action that needs to be rendered by PPspliT.

  2. Shape dimming after playing an effect

  3. Most effects/actions triggered by mouse clicks on a specific shape — As an exception, cross-slide hyperlinks are supported: their targets are updated to point to the originally meant slides even after they have been renumbered by the split. Slide previews using the [zoom feature](https://support.microsoft.com/en-us/office/use-zoom-for-powerpoint-to

View on GitHub
GitHub Stars410
CategoryDevelopment
Updated9h ago
Forks6

Languages

VBA

Security Score

85/100

Audited on Apr 1, 2026

No findings