Automating PowerPoint

While I really like PowerPoint for creating presentations, I do not particularly care for its object model. It is difficult to use for a number of reasons. First, the object model mixes constants from both the PowerPoint and Office object models. Also, when you add slides to the presentation, the objects are given names that do not identify them (such as Rectangle 2, Rectangle 5, etc.). However, once you have figured out the names for each slide, it is relatively straight forward to use them. Finally, you have to go through a number of steps for each object on the slide in order to be able to put in the text that you want.

Maybe it is because of the relative complexity or because heavy PowerPoint users might not be as versed in VBA as heavy Excel users, but, whatever the reason, I see a lot of requests for getting information like graphs, Excel worksheets, etc. into PowerPoint presentations automatically. So, the example that I present here puts each Excel chart from an Excel workbook on a new slide. For simplicity, I use the name of the chart as the title of the slide.

There is an important distinction in Excel between a Chart and a ChartObject. A chart is a type of sheet in Excel and is part of the Sheets collection, which contains both worksheets and charts. There are also collections for Worksheets and Charts. When you create a chart in Excel, it gives you an option at the end to create the chart as an object in the worksheet or as a separate sheet. For this ...

Get Integrating Excel and Access now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.