Running a VBA Macro When a PowerPoint Opens

If you need to start a Macro automatically when a PowerPoint .ppt or .pptx file opens, then here are some tips that can be helpful to accomplish the need.

There is a free addin AutoEvents that enables PowerPoint to run macros automatically on certain events. You can download the addin from and it will be helpful to run macros on the following events:

  • Sub Auto_Open() – Gets executed immediately after the presentation is opened.
  • Sub Auto_Close() – Gets executed prior to the presentation is closed.
  • Sub Auto_Print() – Gets executed prior to the presentation being printed.
  • Sub Auto_ShowBegin() – Gets executed when the show begins.
  • Sub Auto_ShowEnd() – Gets executed when the show ends.
  • Sub Auto_NextSlide(Index as Long) – Gets executed before the slideshow moves onto the next slide. Index represents the SlideIndex of the Slide about to be displayed.

So, if you need to run a Macro when the PowerPoint is opened, you may implement Auto_Open() using VBA.

Even if PowerPoint 2000 introduced application level events, PowerPoint does not include any automatic macro support which are available in Excel & Word. The only ones available are Auto_Open & Auto_Close macros. However these fire automatically provided they are within an add-in.

Alternatively you can also check Event Generator 2.0 if you are looking to port your event-based presentations to PowerPoint 2007 and 2010. Learn more in

Learn more about PowerPoint Application Level Events for MS PowerPoint 2010 here:

One comment on “Running a VBA Macro When a PowerPoint Opens

Leave a Comment

Your email address will not be published. Required fields are marked *