# Merge PPTM Files in C++

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

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



## Merge PPTM Files Using C++

To merge `PPTM` 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 PPTM Files in C++

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

Load the destination and source `PPTM` 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::Pptm`.

## 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 PPTM Files - C++

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

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

destinationPresentation->Save(u"merged.pptm", SaveFormat::Pptm);
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 `.PPTM` extension are macro-enabled presentation files introduced with Microsoft PowerPoint 2007. They are similar to PPTX files, but PPTM files can store VBA macro code, whereas PPTX files cannot. PPTM files can be opened and edited in Microsoft PowerPoint. The related PPSM format opens in Slide Show view by default but can also be opened in PowerPoint for editing. Like PPTX files, PPTM files can contain text, images, videos, charts, and other presentation content.

## 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
- [PPSM](/slides/cpp/merger/ppsm/) — Macro-enabled PowerPoint slide show
- [PPSX](/slides/cpp/merger/ppsx/) — PowerPoint Open XML slide show
- [PPT](/slides/cpp/merger/ppt/) — PowerPoint presentation
- [PPTX](/slides/cpp/merger/pptx/) — PowerPoint Open XML presentation
