Files
www/public/blog/003_powerpointsnap/index.html
Avinash Mallya 57eff46d6c Switch to Hugo
2025-09-13 21:27:23 -05:00

24 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html><html lang=en-US><head><meta http-equiv=X-Clacks-Overhead content="GNU Terry Pratchett"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Quick hacks to make client-ready presentations | Avinash's Blog</title><meta name=title content="Quick hacks to make client-ready presentations"><meta name=description content="Premise
When I worked in healthcare consulting, I often spent a LOT of my time creating PowerPoint presentations (decks in consulting lingo - not even slide decks). However, it was rather repetitive. Thus, was born PowerPointSnap.
What is it?
I&rsquo;ll write this down as pointers.
It&rsquo;s a VBA based PowerPoint add-on. Just a set of commands that work well with each other.
It&rsquo;s Windows only - it&rsquo;s unlikely to work on MacOS.
It&rsquo;s installation-free and is not an executable, which makes it perfect for locked-down corporate environments, as long as you have the permission to download files.
How do I get it?
The project is available on this Github repo. The instructions to install it are available there, but here&rsquo;s the down-low:"><meta name=author content="Avinash Mallya"><meta name=keywords content="powerpoint,ppt,vba,"><meta property="og:url" content="https://avimallu.dev/blog/003_powerpointsnap/"><meta property="og:site_name" content="Avinash's Blog"><meta property="og:title" content="Quick hacks to make client-ready presentations"><meta property="og:description" content="Premise When I worked in healthcare consulting, I often spent a LOT of my time creating PowerPoint presentations (decks in consulting lingo - not even slide decks). However, it was rather repetitive. Thus, was born PowerPointSnap.
What is it? Ill write this down as pointers.
Its a VBA based PowerPoint add-on. Just a set of commands that work well with each other. Its Windows only - its unlikely to work on MacOS. Its installation-free and is not an executable, which makes it perfect for locked-down corporate environments, as long as you have the permission to download files. How do I get it? The project is available on this Github repo. The instructions to install it are available there, but heres the down-low:"><meta property="og:locale" content="en_US"><meta property="og:type" content="article"><meta property="article:section" content="blog"><meta property="article:published_time" content="2023-10-20T00:00:00+00:00"><meta property="article:modified_time" content="2023-10-20T00:00:00+00:00"><meta property="article:tag" content="Powerpoint"><meta property="article:tag" content="Ppt"><meta property="article:tag" content="Vba"><meta property="og:image" content="https://avimallu.dev/static/favicon.ico"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="https://avimallu.dev/static/favicon.ico"><meta name=twitter:title content="Quick hacks to make client-ready presentations"><meta name=twitter:description content="Premise When I worked in healthcare consulting, I often spent a LOT of my time creating PowerPoint presentations (decks in consulting lingo - not even slide decks). However, it was rather repetitive. Thus, was born PowerPointSnap.
What is it? Ill write this down as pointers.
Its a VBA based PowerPoint add-on. Just a set of commands that work well with each other. Its Windows only - its unlikely to work on MacOS. Its installation-free and is not an executable, which makes it perfect for locked-down corporate environments, as long as you have the permission to download files. How do I get it? The project is available on this Github repo. The instructions to install it are available there, but heres the down-low:"><meta itemprop=name content="Quick hacks to make client-ready presentations"><meta itemprop=description content="Premise When I worked in healthcare consulting, I often spent a LOT of my time creating PowerPoint presentations (decks in consulting lingo - not even slide decks). However, it was rather repetitive. Thus, was born PowerPointSnap.
What is it? Ill write this down as pointers.
Its a VBA based PowerPoint add-on. Just a set of commands that work well with each other. Its Windows only - its unlikely to work on MacOS. Its installation-free and is not an executable, which makes it perfect for locked-down corporate environments, as long as you have the permission to download files. How do I get it? The project is available on this Github repo. The instructions to install it are available there, but heres the down-low:"><meta itemprop=datePublished content="2023-10-20T00:00:00+00:00"><meta itemprop=dateModified content="2023-10-20T00:00:00+00:00"><meta itemprop=wordCount content="1066"><meta itemprop=image content="https://avimallu.dev/static/favicon.ico"><meta itemprop=keywords content="Powerpoint,Ppt,Vba"><meta name=referrer content="no-referrer-when-downgrade"><link href=/original.min.css rel=stylesheet></head><body><header><a class=skip-link href=#main-content>Skip to main content</a>
<a href=/ class=title><h1>Avinash's Blog</h1></a><nav><a href=/>about</a>
<a href=/blog/>blog</a>
<a href=/projects/>projects</a>
<a href=https://avimallu.dev/index.xml>rss</a></nav></header><main id=main-content><h1>Quick hacks to make client-ready presentations</h1><p class=byline><time datetime=2023-10-20 pubdate>2023-10-20
</time>· Avinash Mallya</p><content><h1 id=premise>Premise</h1><p>When I worked in healthcare consulting, I often spent a LOT of my time creating PowerPoint presentations (<em>decks</em> in consulting lingo - not even <em>slide decks</em>). However, it was rather repetitive. Thus, was born PowerPointSnap.</p><h1 id=what-is-it>What is it?</h1><p>I&rsquo;ll write this down as pointers.</p><ol><li>It&rsquo;s a VBA based PowerPoint add-on. Just a set of commands that work well with each other.</li><li>It&rsquo;s Windows only - it&rsquo;s unlikely to work on MacOS.</li><li>It&rsquo;s installation-free and is not an executable, which makes it perfect for locked-down corporate environments, as long as you have the permission to download files.</li></ol><h1 id=how-do-i-get-it>How do I get it?</h1><p>The project is available on this <a href=https://github.com/avimallu/PowerPointSnap>Github repo</a>. The instructions to install it are available there, but here&rsquo;s the down-low:</p><ol><li>Download the Snap.ppam file to your system.</li><li>Enable the developer options.</li><li>Go to the Developer tab, and click on PowerPoint Add-ins.</li><li>Click on Add New. Choose the location of the file you just dowloaded. Click Close.</li><li>To uninstall, repeat the process, and simply click on Remove this time.</li></ol><h1 id=what-can-i-do-with-it>What can I do with it?</h1><p>Frankly, a LOT. The base concept of this tool is:</p><ol><li>&ldquo;Set&rdquo; a shape as the one you want to copy a property from.</li><li>Select any property from the list to automatically apply it.</li></ol><p>Here&rsquo;s a non-exhaustive list of all the options available.</p><h2 id=apply-properties-of-shapes-directly>Apply properties of shapes directly</h2><p>This is the part of the interface that can be used for shapes (which include charts and tables).</p><p><img src=/blog/003_powerpointsnap/01_Shapes.png alt="The UI for copying shape properties"></p><p>To use, first select a <em>shape</em> object, click on &ldquo;Set&rdquo;. Then, choose the object you want to <em>Snap</em> its properties to (see how I got the inspiration for the name?). You should be able to copy all compatible properties - if something is not copy-able, the tool will show an error, and then let you exit.</p><p>Note that it&rsquo;s probably not to apply a property of a shape to a table - if you want to make the entire table orange, there are probably better built-in ways to do it than to use <em>Snap</em>.</p><h2 id=beautify-charts-with-snappable-properties>Beautify charts with <em>Snap</em>pable properties</h2><p>Charts are also supported, with dedicated features for it.</p><p><img src=/blog/003_powerpointsnap/02_Charts.png alt="The UI for copying chart properties"></p><p>What do these features do? You should be able to hover over the option and get a tooltip that shows what it&rsquo;s capable of, but here&rsquo;s another summary just in case:</p><ol><li>Sync Value/Date Axis: this will try to align the range, the ticks, the numeric values etc. of the &ldquo;set&rdquo; chart to the one you&rsquo;ve selected. I couldn&rsquo;t put in just $x$ and $y$ here because Microsoft internally doesn&rsquo;t label them that way. Try either of these two options (you can undo!) and see what works best for your chart. This doesn&rsquo;t work well yet for 3D charts.</li><li>Sync Plot/Title/Legend: often, you want to centre a title, or make sure that multiple charts that show nearly identical things for different variables all <em>look</em> exactly the same from a client perspective. But that&rsquo;s usually difficult if you&rsquo;ve already configured the charts a little - which can be remedied with this option!</li><li>Format Painter: this is simply a helper for the normal format painter to align the formats of the text that you&rsquo;ve selected with the way it originally is in the &ldquo;set&rdquo; chart. The reason for this feature is simply to avoid going back to <em>Home</em> to click on the <em>Format Painter</em> option again.</li><li>Reset Axes Scales: in case you messed up somewhere, you can use this to rever to PowerPoint defaults.</li></ol><p>The next two options deserve their own section.</p><h2 id=customize-the-labels-programmatically>Customize the labels programmatically</h2><p>Your immediate senior in a consulting environment would frown at your chart, and then exclaim, &ldquo;I think that&rsquo;s too many labels for the data points. Can you show them every two/three/four labels? I know this is manual work, but it&rsquo;s a one time thing!&rdquo;</p><p>It&rsquo;s <strong>never</strong> a one time affair. But don&rsquo;t worry, we have this nice feature to help us. If you click on the <em>Customize Label</em> option, you will get this (without the &ldquo;Set&rdquo; option):</p><p><img src=/blog/003_powerpointsnap/DataLabelsScreenshot.JPG alt="The UI for customizing labels."></p><p>Never mind the rather unfriendly legend entries. They&rsquo;re just here to demonstrate that you can do the following kinds of whacky abilities with your own chart!</p><h3 id=screenshots-of-the-chart-snapability>Screenshots of the chart <em>snap</em>ability</h3><p>Of course, visuals will do it more justice. For example, look at this image:</p><p><img src=/blog/003_powerpointsnap/Revenue_Presentation_1.png alt="Theres a lot wrong with this image. But primarily, the charts are of different sizes, the axes are different, the labels are too clustered, and the titles arent centered."></p><p>Here&rsquo;s what you can do:</p><ol><li>Click on the left chart. Press &ldquo;Set&rdquo; in the toolbar for <em>Snap</em>.</li><li>Click on the right chart, and then go through the following:<ol><li>In <em>Shapes</em>, click on <em>Dim</em>. This will align the shapes of the chart.</li><li>Use the guides that you get while moving the chart to align the positions of the two charts now that their shapes are equal.</li><li>You&rsquo;ll notice that the chart area doesn&rsquo;t still match, nor does the title.</li><li>In <em>Charts</em>, click on <em>Sync Plot Area</em> and <em>Sync Title Area</em>, and watch the magic unfold.</li><li>Now, click on the second chart, and click on &ldquo;Set&rdquo;. Let&rsquo;s align the axes of the first chart to the second one.</li><li>Click on the first chart, and then in <em>Charts</em>, click <em>Sync Value Axis</em>.</li></ol></li><li>Let&rsquo;s bring that senior&rsquo;s exclamation back into play - (s)he wants you to highlight <em>only</em> Profit labels, and that too every 2 iterations. To do this:<ol><li>Click on <em>Customize Labels</em> after clicking on either chart.</li><li>You&rsquo;ll get the screen shown in the previous section. Make sure to adjust the values such that it&rsquo;s exactly like the screenshot there.</li><li>Click on &ldquo;Save and Run&rdquo;. This will <em>save</em> the configuration you&rsquo;ve selected, and <em>run</em> it on the chart you&rsquo;ve selected.</li><li>Click the other chart. Then, in <em>Charts</em>, click on <em>Rerun Customization</em>.</li></ol></li></ol><p>This is what your results should look like:</p><p><img src=/blog/003_powerpointsnap/Revenue_Presentation_2.png alt="Everything almost consistent. Your senior rests their eyes, and secretly wonder how you managed to do it quickly… maybe they should change some requirements…"></p><p>Of course, getting those calculations right is a whole different thing that will need some work.</p><h2 id=align-table-dimensions>Align table dimensions</h2><p>Oftentimes, you have two tables that show similar values&mldr; you know the drill. Here&rsquo;s what you can do in a scenario such as this:</p><p><img src=/blog/003_powerpointsnap/Table_Presentation_1.png alt="Similar data, but vastly different tables."></p><p>This is what the <em>Tables</em> section of the tool looks like:</p><p><img src=/blog/003_powerpointsnap/03_Tables.png alt="The UI for Tables"></p><p>To align these tables together,</p><ol><li>Click on the left table. Press &ldquo;Set&rdquo; in the toolbar for <em>Snap</em>.</li><li>Click on the right table.</li><li>Click on <em>Shapes</em>, inside it, <em>Dim</em>. Now the shapes of the table are the same.</li><li>In <em>Tables</em>, click on <em>Sync Column Widths</em>. Now the columns are also the same.</li><li>If you try to align by rows, it fails because the number of rows are not the same in the two tables.</li></ol><p>Here&rsquo;s what you&rsquo;ll end up with:</p><p><img src=/blog/003_powerpointsnap/Table_Presentation_2.png alt="Similar data, and similar enough tables."></p><p>Pretty neat, eh?</p></content><p><a class=blog-tags href=/tags/powerpoint/>#powerpoint</a>
<a class=blog-tags href=/tags/ppt/>#ppt</a>
<a class=blog-tags href=/tags/vba/>#vba</a></p></main><footer><small>© Avinash Mallya | Design via <a href=https://github.com/clente/hugo-bearcub>Bear Cub</a>.</small></footer></body></html>