# Merge POTM Files in C++

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

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



## Merge POTM Files Using C++

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

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

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

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

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

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

destinationPresentation->Save(u"merged.potm", SaveFormat::Potm);
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 `.POTM` extension are macro-enabled Microsoft PowerPoint template files introduced with PowerPoint 2007. They can store reusable presentation settings such as layouts, styles, backgrounds, color palettes, fonts, default formatting, and VBA macros. PowerPoint 2007 and later can open and edit POTM files.

## 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
- [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
- [PPTM](/slides/cpp/merger/pptm/) — Macro-enabled PowerPoint presentation
- [PPTX](/slides/cpp/merger/pptx/) — PowerPoint Open XML presentation
