View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

5.0 | 4 ratings Rate this file 7 Downloads (last 30 days) File Size: 10.7 KB File ID: #20949 Version:
image thumbnail



Mark Hoyle (view profile)


01 Aug 2008 (Updated )

Saves multiple MATLAB figure windows to powerpoint giving the user "subplot" style control over thei

| Watch this File

File Information

Saves multiple MATLAB figure windows to powerpoint giving the user "subplot" style control over their positions in the final slide.
Given multiple figures you can use commands like:

subplotPPT(m,n,k,...) to print a copy of the figure to a powerpoint slide. The first three arguements behave like those of subplot: m rows of images, n columns amd k gives you the index of the image to paste to (if k has two element per image then the function will merge the image across the locations). Other inputs:

Vector of handles to figures to paste into the slide

Filename of powerpoint file to use

slide number to print to

Region of the slide to print to

image file format to print to (e.g jpg, png, bmp ...)

gaps between adjacent images

units for specifying measures in.

The zip file contains subplotPPT and test_PPTScript which runs through some examples of how to call the function


The code:

h(1) = figure;
h(2) = figure;
h(3) = figure;
h(4) = figure;
h(5) = figure;

[1 4; 2 3; 5 5; 6 9; 7 8],...
'region',[200 100 500 340],...

Generates the screenshot


Saveppt inspired this file.

MATLAB release MATLAB 7.6 (R2008a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (8)
07 Apr 2016 David Botto

I tried running Test_PPTScript using MatLab R2015b. I am getting the error message
"undefined function 'Add' for input arguments of type 'Interface.Microsoft_PowerPoint_14.0_Object_Library.Slides',
Error in subplotPPT (line 191)"
Any ideas of what I should do? Thanks,

Comment only
07 May 2012 Ioannis Botonakis

I'm getting the following error message:

Invoke Error, Dispatch Exception:
Source: Microsoft PowerPoint 2010
Description: CustomLayouts.Item : Integer out of range. 7 is not in Index's valid range of 1 to 1.
Help File:
Help Context ID: 0

Can you help me?

Comment only
20 Mar 2012 Walid

Walid (view profile)

Does it not work with 64 bit ?

Comment only
05 Jan 2010 Glenn

Glenn (view profile)

Very quick and useful. Now if I can only get my colleagues to adopt this as well.

09 Oct 2009 Anne-marie Carriero

How do I get the slide number to continue in the for loop.
For instance, I have 100 figures to put into my .ppt.
I have it set up for 2 figures on one slide starting on slide 8 of my .ppt template. How do I get figures 3 and 4 to be put on slide 9?

15 Sep 2008 Stan Young

Tried on version 6.5 on Windows
After correcting the mkdir (for windows) The test script hung up around line 152 in subplotPPT when it was testing the existence of FileData.FileName. FileData was declared [] earlier and never initialized to anything else. Where am I going wrong?

Comment only
06 Aug 2008 Thierry Dalon

Good idea and implementation.

01 Aug 2008 Carlos Adrian Vargas Aguilera

It works fine Mark! Is there any way to get the output in an image file (PNG for example) rather than in PPT?

Regards, Carlos

06 Jan 2009 1.3

Now contains a file "subplotPPT_2007" for use with Office 2007. Thanks to Mykel Kochenderfer for pointing this out to me.

24 Aug 2009 1.4

Added in copyright information

24 Aug 2009 1.5

Included Trademark Information

01 Sep 2016

Updated license

Contact us