How to Automate Routine PowerPoint Tasks With VBA Code

How to Automate Routine PowerPoint Tasks With VBA Code

VBA is a powerful tool for anyone looking to streamline their presentation development process. VBA, or Visual Basic for Applications, is a programming language that's built into most Microsoft Office applications, including PowerPoint. It allows you to automate repetitive tasks, customize PowerPoint functions, and even build new capabilities into your presentations.

When do you use VBA code?

Let's break down why and when you'd want to use it. Imagine you're working on a large presentation, and you need to make consistent changes across all of them, like reassigning a theme color, resizing or reformatting images, or batch updating a font size inside of a shape. Doing this manually would take hours, if not days. With VBA, you can write a script to automate these tasks, saving you a tremendous amount of time and ensuring consistency across the presentation.

If you're comfortable with programming or scripting, you can write VBA code directly in PowerPoint. You access the VBA editor by pressing Alt + F11, and from there, you can start writing scripts to automate just about any task within PowerPoint.

If coding isn't your strong suit, don't worry—there's a community of PowerPoint users and developers who generously share their VBA scripts on the web. Platforms such as GitHub, Stack Overflow, and Reddit are treasure troves of pre-written scripts, and you can also discover valuable resources on PowerPoint-focused blogs like PPT Alchemy and websites of presentation agencies like BrightCarbon. Frequently, you'll stumble upon a script that almost matches your needs, requiring only minor adjustments to perfect it for your specific project.

You can also browse our VBA library which includes a a range of scripts covering common tasks such as bulk formatting of slides, inserting standardized slide layouts, automating data updates from Excel to PowerPoint, and much more. Each script  comes with detailed documentation on how it works and instructions for customization to fit specific needs.

Working with VBA Supported File-types in PowerPoint

When you're working with VBA scripts in PowerPoint, you'll be using a file type called 'PowerPoint Macro-Enabled Presentation,' which has a .pptm extension. This file type supports the use of macros, which is how VBA scripts are implemented within PowerPoint presentations.

Screenshot of PPTM filetype


However, when you're sharing a presentation with a client or colleague who doesn't need to run or edit the VBA scripts, you might choose to convert it to the standard PowerPoint presentation format, which is a .pptx file. This step is crucial for a couple of reasons. First, it helps to ensure compatibility, as the recipient can open the .pptx file without issues, even if they have macro settings that restrict the execution of VBA scripts. Second, it enhances security. Macros can potentially be used for malicious purposes, so many organizations have strict policies about receiving and opening macro-enabled files.

Before converting your .pptm file back to .pptx, you'll want to make sure that all the VBA scripts have been run and that their effects are fully integrated into the presentation. Once you're satisfied with the state of the presentation, you can save it as a .pptx file. This process essentially 'bakes in' the changes made by the VBA scripts, without the need for the scripts to run on the recipient's machine.

For those who regularly share presentations with clients or collaborate with teams,  establish a clear workflow: use the .pptm format while designing and automating your presentation, then convert it to .pptx for sharing or distribution. This practice ensures that your work remains compatible, secure, and accessible, regardless of the recipient's technical setup or policies regarding macros.

How to open the VBE (Visual Basic Editor) and Insert VBA Code

Using VBA might sound intimidating at first, but once you get the hang of it, it's quite straightforward. Here's a step-by-step guide to get you started:

  1. Open PowerPoint: Start by opening the PowerPoint application and either create a new presentation or open an existing one where you want to apply the VBA script.

  2. Access the VBA Editor: To open the VBA Editor, you'll need to press Alt + F11 on your keyboard. This shortcut works in all Microsoft Office applications, not just PowerPoint. Pressing these keys will switch you from the normal PowerPoint interface to the VBA Editor.

  3. Insert a Module: In the VBA Editor, you'll see a pane on the left side with a list of PowerPoint objects. Right-click on any of these objects, choose 'Insert,' and then select 'Module.' This action creates a new module, which is where you'll paste or write your VBA code.

  4. Paste the Code Snippet: Now that you have your module open, you can paste your VBA code snippet directly into the large white space (the code window) that appears to the right of the pane. You can copy a code snippet from a website, a forum, or any other source you're using. Once copied, simply right-click in the code window and select 'Paste' or use the keyboard shortcut Ctrl + V.

  5. Run the Script: With the code snippet now in your module, you can run it to see its effects on your PowerPoint presentation. To do this, you can either press F5 while in the VBA Editor or find and click the 'Run' button in the toolbar. Before running the script, make sure you've saved your PowerPoint presentation, as it's always good practice to save before executing code.

  6. Return to PowerPoint: Once you've run your script and are satisfied with the changes, you can return to PowerPoint by pressing Alt + Q or simply closing the VBA Editor window. You'll see the changes reflected in your PowerPoint presentation.

Remember, the first time you attempt to run a VBA script, you may need to adjust your macro settings in PowerPoint to allow the script to run. You can find these settings under the 'Trust Center' in the PowerPoint options menu. Set it to 'Disable all macros with notification' as a balanced approach to security and functionality.

And that's it! While it might seem a bit technical at first, once you've gone through these steps a couple of times, it will start to feel more natural. VBA can open up a world of possibilities for automating and enhancing your PowerPoint presentations.