File types · Explainer

The PPAM file (.ppam)

A PPAM file is a PowerPoint add-in: a package of VBA code, often with its own ribbon buttons, that PowerPoint loads to add commands to every presentation you open. This guide explains how add-ins are loaded and unloaded, how their code runs, what's inside one, how they're made and why Office treats them with care.

At a glance

Full name
PowerPoint Add-in (macro-enabled)
Extensions
.ppam; PowerPoint 97-2003 add-ins used .ppa
MIME type
application/vnd.ms-powerpoint.addin.macroEnabled.12
Kind
Binary: a ZIP package of XML parts (PresentationML) with a binary VBA project
Standard
Office Open XML packaging (ECMA-376, ISO/IEC 29500); the add-in content type is Microsoft's own
First released
2007, with PowerPoint 2007, by Microsoft
Opens with
PowerPoint, which loads it as an add-in rather than opening it as a document
Magic number
50 4B 03 04 ("PK"), the ZIP signature
Main part content type
application/vnd.ms-powerpoint.addin.macroEnabled.main+xml
Auto macros
Auto_Open runs when the add-in loads, Auto_Close when it unloads

The basics

What is a PPAM file?

A PPAM is PowerPoint's format for add-ins written in VBA (Visual Basic for Applications). An add-in adds commands to PowerPoint itself: a ribbon tab with buttons that insert standard slides, resize pictures, check fonts, export notes or apply a house style. Once loaded, it works on every presentation you open, until you unload it.

That's the difference from a PPTM. Macros in a PPTM belong to that one presentation and are available while it's open. Macros in a PPAM belong to PowerPoint, and are there whatever you're working on. The format replaced the binary .ppa add-ins of PowerPoint 97 to 2003.

  • You don't open it, you load it. Double-clicking isn't how add-ins are used: PowerPoint loads them through its PowerPoint Add-ins dialog.
  • It's all code. An add-in without a VBA project does nothing, which is also why this page has no sample.
  • Not the Office Store kind. The Add-ins button on PowerPoint's Home tab manages Office Add-ins, small web apps from Microsoft's store. PPAM add-ins are older, VBA-based and managed in a different dialog.

Anatomy

What's inside a PPAM file

A PPAM is an Office XML package like a PPTM. There's no sample on this page, so this outline is put together from the documentation: the add-in content type that file identification tools such as PRONOM look for, the VBA project as [MS-OFFMACRO2] describes it, and the ribbon part from Microsoft's RibbonX documentation. Part names other than [Content_Types].xml are the usual ones, not required ones.

example.ppam (outline from the specifications)
example.ppam  (outline, not a real file)
offset 0: 50 4B 03 04 …  "PK", a ZIP local file header

[Content_Types].xml
  <Override PartName="/ppt/presentation.xml"
    ContentType="application/vnd.ms-powerpoint.addin.macroEnabled.main+xml"/>
  <Default Extension="bin" ContentType="application/vnd.ms-office.vbaProject"/>

_rels/.rels
  <Relationship Type="…/officeDocument/2006/relationships/officeDocument"
    Target="ppt/presentation.xml"/>
  <Relationship Type="…/office/2006/relationships/ui/extensibility"
    Target="customUI/customUI.xml"/>

ppt/presentation.xml            the main part, as in any presentation
ppt/_rels/presentation.xml.rels
  <Relationship Type="http://schemas.microsoft.com/office/2006/relationships/vbaProject"
    Target="vbaProject.bin"/>
ppt/vbaProject.bin              the VBA project: the add-in's code
customUI/customUI.xml           ribbon tabs and buttons (optional)
  <button id="tidy" label="Tidy slides" onAction="TidySlides"/>
  1. 150 4B 03 04

    The ZIP signature

    The same first bytes as every PPTX and PPTM. You can rename a copy to .zip and look inside.

  2. 2ContentType="application/vnd.ms-powerpoint.addin.macroEnabled.main+xml"

    The add-in content type

    This is what makes the package an add-in. PRONOM, the UK National Archives' format registry, identifies PPAM files by finding this string in [Content_Types].xml.

  3. 3ppt/presentation.xml

    A presentation inside

    An add-in is saved from a presentation and still has a presentation part, but PowerPoint never shows it: loading an add-in opens no window.

  4. 4ppt/vbaProject.bin

    The VBA project

    The add-in's code: an OLE compound file holding the compressed source of each module, linked from the presentation part. Without it, an add-in has nothing to do.

  5. 5…/2006/relationships/vbaProject

    The link to the code

    The relationship type PowerPoint follows from the presentation part to the VBA project. A package can hold only one.

  6. 6customUI/customUI.xml

    Ribbon customisation

    Optional RibbonX markup that adds tabs, groups and buttons. Each button's onAction names a VBA procedure in the add-in. Newer files often use customUI14.xml instead.

  7. 7…/ui/extensibility

    The link to the ribbon

    The ribbon part is linked from the package's root _rels/.rels, not from the presentation.

How to

How to load, unload and remove a PPAM add-in

In PowerPoint for Windows:

  1. 1Choose File, Options, Add-ins. At the bottom, set Manage to PowerPoint Add-ins and choose Go. If the Developer tab is showing, its PowerPoint Add-ins button opens the same dialog.
  2. 2Choose Add New, browse to the .ppam file and open it.
  3. 3If PowerPoint asks about macros, enable them only for an add-in you trust. The add-in appears in the list with a tick, and any ribbon tab it adds appears.
  4. 4To switch it off, clear its tick or choose Unload. To take it off the list, select it and choose Remove.

A loaded add-in stays loaded: PowerPoint loads it again each time it starts, until you unload it. According to Microsoft's developer documentation, PowerPoint saves add-ins to the Microsoft\AddIns folder in the user's profile by default, and that's where the dialog looks first, but an add-in can be loaded from anywhere.

Under the hood

How an add-in's code runs

TriggerWhat happens
Auto_OpenA procedure with this name runs each time PowerPoint loads the add-in: when PowerPoint starts with it loaded, or when you add it in the PowerPoint Add-ins dialog.
Auto_CloseRuns when the add-in is unloaded, including when PowerPoint shuts down.
Ribbon buttonsRibbonX markup in the package adds buttons whose onAction callback calls a VBA procedure.

Microsoft documents Auto_Open and Auto_Close for add-ins: they're the only automatic macros PowerPoint lists, and they're spelt with an underscore, unlike Word's AutoOpen. That makes an add-in the one PowerPoint file type whose code is designed to run without anyone clicking anything, which is why loading one deserves more care than opening a presentation.

Development

How a PPAM add-in is made

  1. 1Write and test the VBA code in a macro-enabled presentation (.pptm), with the VBA editor (Alt+F11).
  2. 2Add ribbon buttons, if you want them, by putting RibbonX XML into the package with a ribbon editor tool. Ribbon buttons are how most add-ins offer their commands.
  3. 3Save a copy with File, Save As, type PowerPoint Add-in (.ppam).
  4. 4Keep the PPTM. Microsoft's developer documentation has long warned that once a project is saved as an add-in you can't view its code or slides in PowerPoint, so changes are made in the source presentation and saved as an add-in again.

Signing

A PowerPoint add-in signed with a code-signing certificate that the user's computer trusts is allowed to run even when the file has the Mark of the Web. For add-ins shared inside an organisation, signing or a Trusted Location saves everyone from unblocking files by hand.

Security

Why Office blocks add-ins from the internet

An add-in runs whenever PowerPoint runs and can act on every presentation, so a malicious one is more dangerous than a malicious deck. Office on Windows applies its 2022 internet-macro rules to add-ins too:

  • A downloaded .ppam has the Mark of the Web. If you load it through File, Options, Add-ins or the Developer tab, PowerPoint loads it in a disabled state and blocks it.
  • To use one you trust, Microsoft lists three ways for PowerPoint add-ins: remove the Mark of the Web (right-click the file, Properties, tick Unblock), use a digital signature from a trusted publisher, or put the file in a Trusted Location.
  • Excel is stricter. For Excel add-ins (.xlam), a trusted signature doesn't override the Mark of the Web; for PowerPoint add-ins it does.
  • Mac, mobile and web versions of Office aren't covered by the 2022 change. PowerPoint for the web doesn't run VBA at all.

Before loading an add-in from someone you don't know, look inside: unzip -l addin.ppam shows the parts, and a VBA analyser such as olevba from oletools extracts the code without running it. Look for Auto_Open and for code that downloads files, starts programs or writes outside PowerPoint.

Comparison

PPAM vs PPA, XLAM, Office Add-ins and COM add-ins

KindMade ofRuns inInstalled from
PPAMVBA in an Office XML packagePowerPoint for Windows and MacPowerPoint Add-ins dialog
PPAVBA in a binary PowerPoint 97-2003 filePowerPoint, as a legacy formatThe same dialog
XLAMVBA in an Office XML packageExcelExcel Add-ins dialog
Office Add-insA web app: HTML, JavaScript and a manifestPowerPoint on Windows, Mac, the web and iPadHome, Add-ins (Microsoft's store or your organisation)
COM add-insA compiled program (a DLL)PowerPoint for WindowsAn installer; File, Options, Add-ins, COM Add-ins

For a single deck that needs code, a PPTM is enough. For a design to start from, use a POTX or POTM template. A PPAM is for tools you want available in every presentation.

Troubleshooting

Common PPAM problems

  • The add-in loads but nothing happens, or it's disabled. It probably has the Mark of the Web. Remove the add-in, unblock the file in its Properties, add it again and restart PowerPoint.
  • Its ribbon tab doesn't appear. The add-in isn't ticked in the PowerPoint Add-ins dialog, or macros are disabled in the Trust Center, or the ribbon XML has an error. Turning on Show add-in user interface errors (File, Options, Advanced) shows the latter.
  • I can't find it under Home, Add-ins. That button is for Office Add-ins from the store. VBA add-ins are under File, Options, Add-ins, Manage: PowerPoint Add-ins.
  • Double-clicking the file doesn't install it. Load it through the PowerPoint Add-ins dialog.
  • I need to change the code but can't see it. Edit the source PPTM the add-in was saved from, then save a new PPAM.

Sample files

There are no sample PPAM files here. An add-in is a container for VBA code: one without macros does nothing when loaded, and one with working macros is the kind of file we don't publish as a sample. To test upload filters with a macro-enabled PowerPoint type, use the PPTM samples; to test add-in loading, save an add-in from your own PPTM with File, Save As, PowerPoint Add-in.

Put it online

Have a PPAM file? Give it a link.

Drop a PowerPoint add-in on 99helpers and it gets its own link for colleagues to download. Browsers can't open PPAM files, and PowerPoint on Windows loads a downloaded add-in disabled until the user unblocks it, so tell people how to do that.

Questions

PPAM files, frequently asked

What is a PPAM file?

A PowerPoint add-in: VBA code, often with its own ribbon buttons, that PowerPoint loads to add commands that work in every presentation.

How do I install a PPAM add-in?

In PowerPoint for Windows, choose File, Options, Add-ins, set Manage to PowerPoint Add-ins, choose Go, then Add New and pick the file.

Why is my PPAM add-in disabled?

Files downloaded from the internet carry the Mark of the Web, and PowerPoint loads such add-ins disabled. If you trust it, unblock the file in its Properties, or keep it in a Trusted Location, and load it again.

How do I edit a PPAM file?

You edit the presentation it was made from, usually a PPTM, and save it as an add-in again. PowerPoint doesn't let you view an add-in's code or slides once it's saved as one.

What's the difference between PPAM and PPTM?

A PPTM is a presentation whose macros work while it's open. A PPAM is an add-in whose macros are loaded into PowerPoint and work with any presentation, and its Auto_Open macro runs when it loads.

Are PPAM files safe?

Only as safe as their author. An add-in's code runs every time PowerPoint starts, so load add-ins only from sources you trust, and inspect unknown ones with olevba first.

Can I open a PPAM in PowerPoint for the web or on a phone?

No. Those versions don't run VBA. Web-based Office Add-ins are the kind that work there.

Related formats

Other file types explained

Keep going

Related

Sources

Last reviewed 27 October 2026.