# Merge PPSM Files in C++

> Merge PPSM files in C++. Use Aspose.Slides for C++ to clone slides from one macro-enabled slide show into another and save the merged result.

Source: https://products.aspose.com/slides/cpp/merger/ppsm/
Updated: 2026-08-11



## Merge PPSM Files Using C++

To merge `PPSM` files, use [Aspose.Slides for C++](/slides/cpp/), a C++ API for working with presentation files. Install the latest package from [NuGet](https://www.nuget.org/packages/Aspose.Slides.Cpp/) or use the Package Manager Console command below.

### Command

```powershell
PM> Install-Package Aspose.Slides.Cpp
```

## Steps for Merging PPSM Files in C++

Merge `PPSM` files with [Aspose.Slides for C++](/slides/cpp/) by cloning slides from one presentation into another.

Load the destination and source `PPSM` files with the `Presentation` class.

Iterate through the source slides with `get_Slides`.

Add each slide to the destination presentation with `AddClone`.

Save the merged file with `SaveFormat::Ppsm`.

## System Requirements

 Aspose.Slides for C++ is supported on all major platforms and operating systems. Please make sure that you have the following prerequisites.

-  Microsoft Windows, Linux, macOS, or another compatible OS with the supported C++ runtime.
-  Aspose.Slides for C++ library referenced in your project.

### Merge PPSM Files - C++

```cpp
auto destinationPresentation = MakeObject<Presentation>(u"first.ppsm");
auto sourcePresentation = MakeObject<Presentation>(u"second.ppsm");

for (auto&& slide : sourcePresentation->get_Slides())
{
    destinationPresentation->get_Slides()->AddClone(slide);
}

destinationPresentation->Save(u"merged.ppsm", SaveFormat::Ppsm);
sourcePresentation->Dispose();
destinationPresentation->Dispose();
```

## About Aspose.Slides for C++ API

 The Aspose.Slides API can read, write, manipulate, and convert Microsoft PowerPoint presentations to PDF, XPS, HTML, TIFF, ODP, and other supported formats. You can create presentations from scratch and save them in a supported output format. Aspose.Slides is a standalone API for creating, parsing, and manipulating presentations, slides, and their elements; it does not require Microsoft PowerPoint or OpenOffice.

Files with the PPSM extension are macro-enabled slide show files introduced with Microsoft PowerPoint 2007. Unlike PPTM, PPSM opens in Slide Show view by default. This default opening mode is not file protection; a PPSM file can also be opened in Microsoft PowerPoint for editing.

## Other Supported Merging Formats

- [ODP](/slides/cpp/merger/odp/) — OpenDocument presentation
- [OTP](/slides/cpp/merger/otp/) — OpenDocument presentation template
- [POT](/slides/cpp/merger/pot/) — PowerPoint template
- [POTM](/slides/cpp/merger/potm/) — Macro-enabled PowerPoint template
- [POTX](/slides/cpp/merger/potx/) — PowerPoint Open XML template
- [PPS](/slides/cpp/merger/pps/) — PowerPoint slide show
- [PPSX](/slides/cpp/merger/ppsx/) — PowerPoint Open XML slide show
- [PPT](/slides/cpp/merger/ppt/) — PowerPoint presentation
- [PPTM](/slides/cpp/merger/pptm/) — Macro-enabled PowerPoint presentation
- [PPTX](/slides/cpp/merger/pptx/) — PowerPoint Open XML presentation
