Many years ago my wonderful husband created a program p3icli, that enables loading pictures into PowerPoint. The name p3icli, is an acronym for what it does, PowerPoint Picture Insert Command Line Interface. The program is open source and can be downloaded from the 1st link below
P3ICLI (PowerPoint Picture Insert Command Line Interface). I recommend using the binary distribution if you decide to download it.
I wrote the specific JSL example found at http://p3icli.sourceforge.net/jsl_example.html . It includes:
- a link for the specially crafted PowerPoint template, with 3 different slides, that define the layout of the final presentation
- the example JSL script that
- opens the JMP sample data Iris.jmp,
- creates and saves JMP output from 3 platforms: Parallel Plot; Scatterplot Matrix (splom) and Oneway (4 plots, each response vs. Species)
- writes the p3icli commands to create a title page and load the plots to the PPTX template,
- runs p3icli using the JSL command Run Program()
- the text file created in JSL and run, is displayed in this link, and, finally
- a link to the resulting PowerPoint file.
p3icli commands are fairly easy, for example
- insert slide # from template file_path
- title "you supply the text"
- pic# picture_path {this command positions the picture on the page}
- cap# "you supply the text" {this command places text in a text box defined in the template}
I and many colleagues have used this to load 100's of graphs in seconds. Embedding a picture in a PPTX shape can look distorted if the shape is not proportional to the picture size (pixel). p3icli has commands to resize, however, typically, I use one of two methods to ensure no distortion: (1) use a JSL command to size the FrameBox or size the window before saving it, or (2) use something like the previous response to craft a new window and save the window as a graph and use a template that has one shape per slide.
This does take a little reading on the p3icli documentation on how to create a template. Here is a hint. Save the PPTX template. Open it. On each shape, right click and select Format Shape. Look at ALT TEXT. Each shape has a tag: pic1, pic2 etc. Also each shape where you want to place text, the ALT TEXT will be cap1, cap2, etc. So the gist is you define a layout, then you save graphs and write commands on how which graphs goes where. Note you can have a template with logos and backup documentation. The p3icli command copy source format on will keep the fancy logos and coloring etc. Note if you have a template with 4 shapes and you only fill 2, the 2 unused shapes do not appear.
This approach enables a lot of flexibility, customization and has saved p3icli users thousands of hours of hand loading and editing PPTX presentations with commands that are much simpler than VBA.
By that way, there is GUI to p3icli, it is called p3i that can be found at the sourceforge.net website.