<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PowerPoint Programming</title>
	<atom:link href="https://powerpointprogram.indezine.com/feed" rel="self" type="application/rss+xml" />
	<link>https://powerpointprogram.indezine.com/</link>
	<description>Everything about PowerPoint programming including VBA, VSTO, and more.</description>
	<lastBuildDate>Tue, 22 Jul 2025 05:14:36 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>VBA Code: Paste in Place</title>
		<link>https://powerpointprogram.indezine.com/2025/07/vba-code-paste-in-place.html</link>
		
		<dc:creator><![CDATA[Geetesh Bajaj]]></dc:creator>
		<pubDate>Wed, 16 Jul 2025 04:00:11 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PowerPoint]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[VBA]]></category>
		<guid isPermaLink="false">https://powerpointprogram.indezine.com/?p=618</guid>

					<description><![CDATA[<p>Ever tried copying an object in PowerPoint and found it refuses to sit still when pasted? Instead of landing neatly atop the original—like a twin returning to its bunk bed—it drifts off like a rebellious balloon, as shown in Figure 1, below. This default offset paste behavior can be especially annoying when working with precise [&#8230;]</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2025/07/vba-code-paste-in-place.html">VBA Code: Paste in Place</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ever tried copying an object in PowerPoint and found it refuses to sit still when pasted? Instead of landing neatly atop the original—like a twin returning to its bunk bed—it drifts off like a rebellious balloon, as shown in <strong>Figure 1</strong>, below. This <a href="https://notes.indezine.com/2007/11/paste-in-place-in-powerpoint.html">default offset paste behavior</a> can be especially annoying when working with precise layouts, animations, or rotational effects that demand pixel-perfect placement. That’s where VBA steps in like a backstage ninja, letting you paste objects exactly where you want—no nudging required.</p>
<p><img fetchpriority="high" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2025/07/Paste-in-Place-Offset.png" alt="Paste in Place Offset" width="949" height="535" /><br />
<strong>Figure 1:</strong> Pasted object is offset from the original</p>
<p>Before you unleash your PowerPoint-fueled sorcery, here’s the first step: you need to know <strong>how</strong> to run <a href="https://notes.indezine.com/2007/11/use-macros-and-scripts-in-powerpoint.html">VBA scripts in PowerPoint</a>. Think of it like discovering a hidden trapdoor backstage — once you find it, you can rig all kinds of magical effects.</p>
<p>It’s not complicated, but it’s a bit like finding the remote that controls the presentation behind the curtain. Once you&#8217;re in, you&#8217;ll meet <strong>VBA</strong> — Visual Basic for Applications — a kind of techy whisperer that tells PowerPoint to behave exactly the way you want. Like pasting objects <em>exactly</em> in place instead of letting them wander like lost ducks.</p>
<p>Then, you will use this code. Explore the code a bit though.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="vb"><pre class="de1"><span class="kw2">Option</span> <span class="kw2">Explicit</span>
&nbsp;
<span class="kw2">Sub</span> PasteInPlace()
&nbsp;
<span class="kw4">Dim</span> sld <span class="kw4">As</span> Slide
<span class="kw4">Dim</span> shp <span class="kw4">As</span> Shape
&nbsp;
<span class="kw4">Set</span> sld = Application.ActiveWindow.View.Slide
&nbsp;
<span class="kw4">Dim</span> y <span class="kw4">As</span> <span class="kw1">Single</span>
<span class="kw4">Dim</span> x <span class="kw4">As</span> <span class="kw1">Single</span>
&nbsp;
y = ActiveWindow.Selection.ShapeRange.Top
x = ActiveWindow.Selection.ShapeRange.Left
&nbsp;
Windows(1).Selection.Copy
ActivePresentation.Slides(sld.SlideIndex).Shapes.Paste
&nbsp;
ActivePresentation.Slides(sld.SlideIndex).Shapes(ActivePresentation.Slides(sld.SlideIndex).Shapes.Count).Top = y
ActivePresentation.Slides(sld.SlideIndex).Shapes(ActivePresentation.Slides(sld.SlideIndex).Shapes.Count).Left = x
<span class="kw3">End</span> <span class="kw2">Sub</span></pre></div></div></div></div></div></div></div>


<p>Alright, you&#8217;ve just dropped that magical VBA code into PowerPoint’s secret command center — the <strong>VBA Editor</strong>. Now, close that window and return to your slide deck like a superhero stepping back from their gadget lab.</p>
<p>But hold up! Before you start testing your macro-powered wizardry, <strong>save your file</strong> — and not just any old way. You need to use the <em>PowerPoint Macro-Enabled Presentation</em> format — the one with the .PPTM extension. If you save as any of the other file formats, PowerPoint will offer to remove the macros, and then, of course, the code to paste in place will not work! See our <a href="https://www.indezine.com/products/powerpoint/learn/interface/powerpointfileformats.html">PowerPoint File Formats</a> page to learn about these file formats.</p>
<p>Now that your macro is ready for action, it’s time to flip the switch — like starting the popcorn machine before movie night.</p>
<ol>
<li value="1"><strong>Switch to the right slide deck:</strong> Open (or hop over to) the PowerPoint presentation that contains those embedded videos. Think of it like switching TV channels to the one with the good stuff.</li>
<li value="2"><strong>Summon your macro:</strong> Press <span class="key2">Alt</span> + <span class="key2">F8</span> — it’s like shouting &#8220;Accio macro!&#8221; (yes, Harry Potter fans, that was for you). Doing so opens the <strong>Macro dialog box</strong>, where your code lives.</li>
<li value="3"><strong>Set your macro GPS:</strong> In the box next to <strong>Macro in:</strong> choose <strong>All open presentations</strong>, as shown highlighted in <span class="izred">red</span> within <strong>Figure 2</strong>, below. This is kind of like telling PowerPoint, “Look everywhere, not just in this one drawer.”</li>
<li class="emptybullet"><img decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2025/07/Run-the-PasteInPlace-macro.png" alt="Run the PasteInPlace macro" width="386" height="385" /><br />
<strong>Figure 2:</strong> Run the PasteInPlace macro</li>
<li value="4"><strong>Pick and launch your spell:</strong> Click the macro name — <strong>PasteInPlace</strong> — and then hit <strong>Run</strong>, highlighted in <span class="izblue">blue</span> within <strong>Figure 2</strong>, above. It’s like pressing the play button on a very specific playlist that only includes magic tricks.</li>
</ol>
<p>We ran this code using <strong>PowerPoint 365 for Windows</strong>, and it behaved like a well-trained puppy — responsive, obedient, and surprisingly agile. Now here’s the twist: we haven’t tried it on <strong>PowerPoint 365 for Mac</strong> yet. It might work like a charm… or throw a tantrum like a vending machine that eats your coins. Only a brave Mac user can tell us! So, if you give this VBA code a spin on your Mac — and it <strong>does</strong> work (or even if it flat-out rebels) — we’d love to hear about it. Drop us a comment below like you’re giving Yelp feedback for a secret recipe.</p>
<p><strong>Windows users</strong>, you’re not off the hook either! If you spot quirks, bonus tricks, or even just want to say “Yep, this worked!” — share your thoughts too. Community wisdom beats lone-wolf coding any day!</p>
<p>Many thanks to <a href="https://www.linkedin.com/in/marcinmikuszewski/" rel="noopener nofollow" target="_blank">Marcin Mikuszewski</a> who suggested some changes to the code. Thanks for helping this community, Marcin.</p>
<hr class="dashed">
<p><strong>You May Also Like: </strong><a href="https://powerpointprogram.indezine.com/2009/03/use-vba-scripts-in-powerpoint-even-if.html">Use VBA in PowerPoint, Even if You Can’t Program for Nuts</a> |  <a href="https://powerpointprogram.indezine.com/2009/03/resources-on-powerpoint-programming.html">Resources on PowerPoint Programming and VBA</a></p>
<p>The post <a href="https://powerpointprogram.indezine.com/2025/07/vba-code-paste-in-place.html">VBA Code: Paste in Place</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Icon Gallery Add-in for PowerPoint: Conversation with John Korchok</title>
		<link>https://powerpointprogram.indezine.com/2023/02/icon-gallery-add-in-for-powerpoint-conversation-with-john-korchok.html</link>
		
		<dc:creator><![CDATA[Geetesh Bajaj]]></dc:creator>
		<pubDate>Thu, 09 Feb 2023 04:00:05 +0000</pubDate>
				<category><![CDATA[Interviews]]></category>
		<category><![CDATA[Add-in]]></category>
		<category><![CDATA[John Korchok]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">https://powerpointprogram.indezine.com/?p=544</guid>

					<description><![CDATA[<p>John Korchok has been creating reliable branded Office templates and web sites for more than 20 years. He is certified as a Microsoft Office Specialist Master, is an award-winning technical writer and is skilled in programming VBA, JavaScript for PDF and web, HTML, CSS, and PHP. John is a moderator for Microsoft Answers and a [&#8230;]</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2023/02/icon-gallery-add-in-for-powerpoint-conversation-with-john-korchok.html">Icon Gallery Add-in for PowerPoint: Conversation with John Korchok</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span class="left leftpadded"><img decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/John-Korchok-134x166.jpg" alt="John Korchok" width="134" height="166" style="padding-bottom: 15px;" /><br />
<a href="https://www.linkedin.com/in/johnkorchok/" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-linkedin fa-2x"></i></a></span> <a href="https://presglossary.indezine.com/john-korchok/">John Korchok</a> has been creating reliable branded Office templates and web sites for more than 20 years. He is certified as a Microsoft Office Specialist Master, is an award-winning technical writer and is skilled in programming VBA, JavaScript for PDF and web, HTML, CSS, and PHP. John is a moderator for <a href="https://geetesh.in/powerpointanswers" target="_blank" rel="noopener nofollow noreferrer">Microsoft Answers</a> and a volunteer at <a href="https://geetesh.in/stack-overflow" target="_blank" rel="noopener nofollow noreferrer">Stack Overflow</a>, providing answers for Word and PowerPoint for Windows and macOS. He currently works for <a href="https://geetesh.in/brandwares" target="_blank" rel="noopener nofollow noreferrer">Brandwares</a> in metropolitan New York.</p>
<p>In this conversation, John talks about his new <a href="https://geetesh.in/john-korchok-powerpoint-icon-gallery" rel="noopener nofollow" target="_blank">Icon Gallery add-in for PowerPoint</a>.</p>
<p><span id="more-544"></span><strong>Geetesh: Can you tell us more about your new <a href="https://geetesh.in/john-korchok-powerpoint-icon-gallery" rel="noopener nofollow" target="_blank">Icon Gallery add-in for PowerPoint</a>, and what motivated you to create this one?</strong></p>
<p><strong>John: </strong>I do many Ribbon modifications for clients, and I found that there was no good visual reference for the commands and icons that are built into Office. Icons are shared by all the Office programs, so I used <a href="https://geetesh.in/ken-puls-office-2007-icon-gallery" rel="noopener nofollow" target="_blank">Ken Puls&#8217; original Excel add-in</a>. However, that add-in hasn&#8217;t been updated since 2007, and many icons have been added since then. So, with Ken&#8217;s permission, I wrote an updated version.</p>
<p>I work a lot with both macOS and Windows, so I made sure that this add-in would be useable in both the Windows and Mac versions of PowerPoint.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2023/02/Icon-Gallery-Add-in-for-PowerPoint.png" alt="Icon Gallery Add-in for PowerPoint" width="644" height="675" /></p>
<p><strong>Geetesh: John, whom is this add-in primarily intended for, and how would they use it? Also, can these icons also be copied as pictures and pasted on PowerPoint slides?</strong></p>
<p><strong>John: </strong>This add-in will be useful to VBA programmers who work with Office for Mac and for Windows. When a built-in ribbon group needs to be modified, it&#8217;s not possible to change just one icon. Instead, it is necessary to reconstruct the whole group. The icon gallery makes it much easier to spot the icon that matches the existing ribbon commands when doing this.</p>
<p>Even when the icon will trigger custom macro programming, it can be very helpful to re-use the icon that has a similar function, to ensure the user interface is familiar. You can see this in the sample video, where I have used the Microsoft ChartInsert icon to run a macro that creates custom charts that replace the Microsoft defaults. The interface is identical to the stock Office ribbon, and the icon gallery makes that easy to do.</p>
<div class="flex-video hide-for-print widescreen" itemprop="subjectOf" itemscope itemtype="https://schema.org/VideoObject">
<iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/eifzKjC_NGs?rel=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><br />
<span itemprop="description">Icon Gallery add-in for PowerPoint.</span><br />
<span itemprop="name">Icon Gallery add-in for PowerPoint</span><br />
<meta itemprop="thumbnailUrl" content="https://i.ytimg.com/vi/eifzKjC_NGs/maxresdefault.jpg"><br />
<meta itemprop="uploadDate" content="2023-02-08T08:00:00-08:00"><br />
<meta itemprop="embedUrl" content="https://www.youtube.com/watch?v=eifzKjC_NGs">
</div>
<p><a href="https://geetesh.in/modern-ribbon-editor-for-windows">Modern Ribbon editor for Windows</a></p>
<p>The add-in copies the command/icon names, but not their images. However, the icon gallery interface makes it convenient to take a screenshot of groups of icons that can then be separated into reusable icons in an image editor.</p>
<p><em>The views and opinions expressed in this blog post or content are those of the authors or the interviewees and do not necessarily reflect the official policy or position of any other agency, organization, employer, or company. </em></p>
<p>The post <a href="https://powerpointprogram.indezine.com/2023/02/icon-gallery-add-in-for-powerpoint-conversation-with-john-korchok.html">Icon Gallery Add-in for PowerPoint: Conversation with John Korchok</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>VBA Code: Change Linked Videos to Embedded?</title>
		<link>https://powerpointprogram.indezine.com/2022/05/vba-code-change-linked-videos-to-embedded.html</link>
		
		<dc:creator><![CDATA[Geetesh Bajaj]]></dc:creator>
		<pubDate>Wed, 04 May 2022 04:00:54 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PowerPoint]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Steve Rindsberg]]></category>
		<category><![CDATA[VBA]]></category>
		<guid isPermaLink="false">https://powerpointprogram.indezine.com/?p=526</guid>

					<description><![CDATA[<p>Have you created or inherited a PowerPoint file that contains a linked video file that you want to share with others? Wouldn&#8217;t it be easier if you could send your recipients a PowerPoint file that contained all the videos as part of the file, rather than send them the linked videos separately? That brings up [&#8230;]</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2022/05/vba-code-change-linked-videos-to-embedded.html">VBA Code: Change Linked Videos to Embedded?</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Have you created or inherited a PowerPoint file that contains a linked video file that you want to share with others? Wouldn&#8217;t it be easier if you could send your recipients a PowerPoint file that contained all the videos as part of the file, rather than send them the linked videos separately?</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2022/05/Linked-video-1024x577.jpg" alt="Linked video" width="1024" height="577" class="alignnone size-large wp-image-533" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2022/05/Linked-video-1024x577.jpg 1024w, https://powerpointprogram.indezine.com/wp-content/uploads/2022/05/Linked-video-300x169.jpg 300w, https://powerpointprogram.indezine.com/wp-content/uploads/2022/05/Linked-video-768x433.jpg 768w, https://powerpointprogram.indezine.com/wp-content/uploads/2022/05/Linked-video-134x75.jpg 134w, https://powerpointprogram.indezine.com/wp-content/uploads/2022/05/Linked-video.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p><span id="more-526"></span>That brings up a question, <em>how easy is it to change the linked videos to become embedded</em>?</p>
<p>All you need to do is run this <strong>LinkedMoviesToEmbeddedMovies</strong> VBA snippet, graciously coded by <a href="https://presglossary.indezine.com/steve-rindsberg/">Steve Rindsberg</a> of <a href="https://geetesh.in/pptfaq" target="_blank" rel="nofollow noopener">PowerPoint FAQ</a>. Thanks to Steve for allowing us to reproduce this code here. Steve adds that it&#8217;s best that you do this only with a copy of your original file.</p>
<p>First, you need to know how you can run <a href="https://notes.indezine.com/2007/11/use-macros-and-scripts-in-powerpoint.html">VBA scripts in PowerPoint</a>. Then use this code. Explore the code a bit though since Steve has put in some helpful comments so that you can edit some values as required.</p>
<p>You can actually create a blank, new presentation and insert this code into the VBA editor. To learn how you bring up the VBA editor and add code, look at our <a href="https://notes.indezine.com/2007/11/use-macros-and-scripts-in-powerpoint.html">VBA scripts in PowerPoint</a> tutorial. Yes, it&#8217;s not necessary that this code is placed in the same presentation as your linked videos; all you need to do is make sure that both presentations (the presentation with this code, and the presentation with the video clips) are open at the same time.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="vb"><pre class="de1"><span class="kw2">Option</span> <span class="kw2">Explicit</span>
&nbsp;
<span class="kw2">Sub</span> LinkedMoviesToEmbeddedMovies()
<span class="co1">' Embeds linked movies/sounds</span>
<span class="co1">' Links must be intact or this won't work!</span>
<span class="co1">' NOTE: This also converts linked sounds</span>
&nbsp;
<span class="kw4">Dim</span> oSl <span class="kw4">As</span> Slide
<span class="kw4">Dim</span> oSh <span class="kw4">As</span> Shape
<span class="kw4">Dim</span> x <span class="kw4">As</span> <span class="kw1">Long</span>
<span class="kw4">Dim</span> sPath <span class="kw4">As</span> <span class="kw1">String</span>
&nbsp;
<span class="kw3">For</span> <span class="kw3">Each</span> oSl <span class="kw3">In</span> ActivePresentation.Slides
    <span class="kw3">For</span> x = oSl.Shapes.Count <span class="kw3">To</span> 1 <span class="kw3">Step</span> -1
        <span class="kw4">Set</span> oSh = oSl.Shapes(x)
        <span class="kw3">If</span> oSh.<span class="kw4">Type</span> = msoMedia <span class="kw3">Then</span>
            <span class="kw3">If</span> oSh.MediaFormat.IsLinked <span class="kw3">Then</span>
                Debug.<span class="kw4">Print</span> oSh.Name
                sPath = oSh.LinkFormat.SourceFullName
                <span class="kw2">Call</span> ConvertToEmbedded(oSh, sPath)
            <span class="kw3">End</span> <span class="kw3">If</span>
        <span class="kw3">End</span> <span class="kw3">If</span>
    <span class="kw3">Next</span>    <span class="co1">' Shape</span>
<span class="kw3">Next</span>    <span class="co1">' Slide</span>
&nbsp;
<span class="kw3">End</span> <span class="kw2">Sub</span>
&nbsp;
<span class="kw2">Sub</span> ConvertToEmbedded(oSh <span class="kw4">As</span> Shape, sPath <span class="kw4">As</span> <span class="kw1">String</span>)
&nbsp;
<span class="kw4">Dim</span> oSl <span class="kw4">As</span> Slide
<span class="kw4">Dim</span> oNewVid <span class="kw4">As</span> Shape
<span class="kw4">Dim</span> x <span class="kw4">As</span> <span class="kw1">Long</span>
<span class="kw4">Dim</span> lZOrder <span class="kw4">As</span> <span class="kw1">Long</span>
&nbsp;
<span class="kw4">Set</span> oSl = oSh.Parent
lZOrder = oSh.ZOrderPosition
&nbsp;
<span class="kw4">Set</span> oNewVid = oSl.Shapes.AddMediaObject2(sPath, msoFalse, msoTrue, _
    oSh.Left, oSh.Top, oSh.Width, oSh.Height)
&nbsp;
<span class="kw3">Do</span> <span class="kw3">Until</span> oNewVid.ZOrderPosition = lZOrder
    oNewVid.ZOrder (msoSendBackward)
<span class="kw3">Loop</span>
&nbsp;
oSh.Delete
&nbsp;
<span class="kw3">End</span> <span class="kw2">Sub</span>
&nbsp;
<span class="kw2">Sub</span> TestForLinkedMedia()
&nbsp;
<span class="kw4">Dim</span> oSl <span class="kw4">As</span> Slide
<span class="kw4">Dim</span> oSh <span class="kw4">As</span> Shape
<span class="kw4">Dim</span> sTemp <span class="kw4">As</span> <span class="kw1">String</span>
&nbsp;
<span class="kw3">For</span> <span class="kw3">Each</span> oSl <span class="kw3">In</span> ActivePresentation.Slides
<span class="kw3">For</span> <span class="kw3">Each</span> oSh <span class="kw3">In</span> oSl.Shapes
    <span class="kw3">With</span> oSh
    <span class="kw3">If</span> .<span class="kw4">Type</span> = msoMedia <span class="kw3">Then</span>
        <span class="kw3">If</span> .MediaFormat.IsLinked <span class="kw3">Then</span>
            sTemp = sTemp _
            &amp; <span class="st0">&quot;Slide: &quot;</span> &amp; oSl.SlideIndex _
            &amp; vbCrLf _
            &amp; .LinkFormat.SourceFullName _
            &amp; vbCrLf
        <span class="kw3">End</span> <span class="kw3">If</span>
    <span class="kw3">End</span> <span class="kw3">If</span>
    <span class="kw3">End</span> <span class="kw3">With</span>
<span class="kw3">Next</span>
<span class="kw3">Next</span>
&nbsp;
<span class="kw3">If</span> Len(sTemp) &gt; 0 <span class="kw3">Then</span>
    MsgBox sTemp
<span class="kw3">Else</span>
    MsgBox <span class="st0">&quot;No linked movies/sounds&quot;</span>
<span class="kw3">End</span> <span class="kw3">If</span>
<span class="kw3">End</span> <span class="kw2">Sub</span></pre></div></div></div></div></div></div></div>


<p>Once you have placed this code in the VBA editor, close the window to get back to your PowerPoint window. Before you proceed further, it&#8217;s a great idea to save your file. Ensure that you save it as a PowerPoint Macro-Enabled Presentation with the PPTM file extension. If you save as any of the other file formats, PowerPoint will offer to remove the macros, and then, of course, the code to change embedded videos to linked will not work! See our <a href="https://www.indezine.com/products/powerpoint/learn/interface/powerpointfileformats.html">PowerPoint File Formats</a> page to learn about these file formats.</p>
<p>Then open or switch to the presentation with the embedded videos and run the macro. To do that, press the <span class="key2">Alt</span> + <span class="key2">F8</span> shortcut key. In the <strong>Macro</strong> dialog box that appears, next to <strong>Macro in:</strong> choose <strong>All open presentations</strong>, as shown in <strong>Figure 1</strong>, below. Click the <strong>LinkedMoviesToEmbeddedMovies</strong> Macro name, and then click the <strong>Run</strong> button, highlighted in <span class="izred">red</span> within <strong>Figure 1</strong>.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2022/05/LinkedMoviesToEmbeddedMovies-Macro.png" alt="Run the LinkedMoviesToEmbeddedMovies Macro" width="386" height="385" /><br />
<strong>Figure 1: </strong>Run the LinkedMoviesToEmbeddedMovies Macro</p>
<p>Thank you so much, Steve.</p>
<p>We tested this code using PowerPoint 365 for Windows. Also, we have not checked this on PowerPoint 365 for Mac. If you do, and it does work or not, then we request you leave a comment below this post and share your thoughts. Of course, you should share your thoughts even if you are a Windows user.</p>
<p><img decoding="async" class="left" style="padding-bottom: 15px; padding-right: 25px;" src="https://powerpointprogram.indezine.com//wp-content/uploads/2012/08/Steve-Rindsberg-134x166.jpg" alt="Steve Rindsberg"><a href="https://presglossary.indezine.com/steve-rindsberg/">Steve Rindsberg</a> has been associated with PowerPoint since the product originated more than two decades ago. His <a href="https://geetesh.in/pptfaq" target="_blank" rel="nofollow noopener">PowerPoint FAQ</a> site is a treasure trove of PowerPoint information.</p>
<p>When he&#8217;s not updating his site, he&#8217;s working on his popular <a href="https://geetesh.in/pptools" target="_blank" rel="nofollow noopener">PPTools add-ins for PowerPoint</a>. Steve&#8217;s also into a lot of print technology related stuff.</p>
<p><strong>You May Also Like: </strong><a href="https://powerpointprogram.indezine.com/2009/03/use-vba-scripts-in-powerpoint-even-if.html">Use VBA in PowerPoint, Even if You Can’t Program for Nuts</a> | <a href="https://powerpointprogram.indezine.com/2009/03/create-spirograph-in-powerpoin.html">Create Spirographs in PowerPoint Programmatically</a> | <a href="https://powerpointprogram.indezine.com/2009/03/resources-on-powerpoint-programming.html">Resources on PowerPoint Programming and VBA</a> | <a href="https://powerpointprogram.indezine.com/2012/11/vba-code-change-embedded-videos-to_16.html">VBA Code: Change Embedded Videos to Linked?</a></p>
<hr class="dashed">
<p>The post <a href="https://powerpointprogram.indezine.com/2022/05/vba-code-change-linked-videos-to-embedded.html">VBA Code: Change Linked Videos to Embedded?</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XML Programming: Setting Default Table Text Size in PowerPoint</title>
		<link>https://powerpointprogram.indezine.com/2020/05/xml-programming-setting-default-table-text-size.html</link>
					<comments>https://powerpointprogram.indezine.com/2020/05/xml-programming-setting-default-table-text-size.html#comments</comments>
		
		<dc:creator><![CDATA[Geetesh Bajaj]]></dc:creator>
		<pubDate>Wed, 20 May 2020 04:00:09 +0000</pubDate>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[John Korchok]]></category>
		<guid isPermaLink="false">https://powerpointprogram.indezine.com/?p=434</guid>

					<description><![CDATA[<p>By John Korchok We looked at the basics of XML programming in our Introducing XML Hacking in Microsoft Office post. Now, let us take this concept further. Let’s start hacking some XML with a simple project: setting the default table text size. This article assumes you have a suitable text editor installed. Mac users should [&#8230;]</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2020/05/xml-programming-setting-default-table-text-size.html">XML Programming: Setting Default Table Text Size in PowerPoint</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: grey;">By <a href="https://presglossary.indezine.com/john-korchok/">John Korchok</a></span></p>
<p>We looked at the basics of XML programming in our <a href="https://powerpointprogram.indezine.com/2020/05/introducing-xml-hacking-in-microsoft-office.html">Introducing XML Hacking in Microsoft Office</a> post. Now, let us take this concept further. Let’s start hacking some XML with a simple project: setting the default table text size.</p>
<p>This article assumes you have a suitable text editor installed. Mac users should also read the <a href="https://geetesh.in/ooxml-editing-on-mac" target="_blank" rel="noopener nofollow noreferrer">XML Hacking: Editing in OS X</a> post.</p>
<p>When you insert a new table in PowerPoint, the default table text size is 18 points. Using XML hacking, we can set this to whatever point size the designer prefers. You can also set the text to appear in all caps. Following the previous post’s instructions, add .ZIP to the file ending and unzip the file. Look for the <strong>ppt</strong> folder and open it:</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Look-for-the-ppt-folder.png" alt="Look for the PPT folder" width="250" height="92" class="alignnone size-full wp-image-447" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Look-for-the-ppt-folder.png 250w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Look-for-the-ppt-folder-134x49.png 134w" sizes="auto, (max-width: 250px) 100vw, 250px" /><br />
<span id="more-434"></span><em>Look for the PPT folder</em></p>
<p>In the <strong>ppt</strong> folder, you will find another folder called <strong>Slide Masters.</strong> If your sample presentation is typical, it has only one Slide Master, so you won’t be surprised to find that typically Slide Masters contains only one file, called <strong>slideMaster1.xml</strong>. Open this file in your text editor and reformat the XML to make it readable:</p>
<ul>
<li>XML Tools | Pretty Print in <a href="https://geetesh.in/notepad-plus-plus" rel="noopener nofollow noreferrer" target="_blank">NotePad++</a></li>
<li>Markup | Tidy | Reflow in <a href="https://geetesh.in/bbedit" rel="noopener nofollow noreferrer" target="_blank">BBEdit</a></li>
</ul>
<p>Scroll down to near the end, looking for a tag called <strong>&lt;p:otherStyle&gt;</strong>. This is the section that formats default text in miscellaneous objects, like tables.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/The-otherStyle-tag.png" alt="The otherStyle tag" width="335" height="492" class="alignnone size-full wp-image-450" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/The-otherStyle-tag.png 335w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/The-otherStyle-tag-204x300.png 204w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/The-otherStyle-tag-113x166.png 113w" sizes="auto, (max-width: 335px) 100vw, 335px" /><br />
<em>The otherStyle tag</em></p>
<h2>Default Table Text Levels </h2>
<p>Within the other Style section, the 4th line starts with <strong>&lt;a:lvl<span class="izred">1</span>pPr</strong>. Then the 14th line begins with <strong>&lt;a:Lvl<span class="izred">2</span>pPr</strong>. Each of these 10-line sections formats a different text level, with the 4th line starting the first and the 14th beginning the second level.</p>
<p>A handy, if terse, reference to all parameters is shown here. Not all of these are actually used in the context of a table. As one example, there are <strong>a:spcBef</strong> and <strong>a:spcAft</strong> for setting space before and after, but this is ignored by PowerPoint in a table. PowerPoint pays attention to the font size, the left margin, line spacing, alignment, and whether it’s all-caps, small caps, bold and/or italic.</p>
<p>The font size is set by this line: <strong>&lt;a:defRPr sz=”1800″ kern=”1200″&gt;</strong>.</p>
<p><strong>sz=1800</strong> is the font size in hundredths of a point, so <strong>1800</strong> gives us the default 18-point size. Since this is the first level that might well be used for table headings, you could set it to something like <strong>1450</strong> to get a 14.5 point result.</p>
<p>So, you could change: <br />
<strong>&lt;a:defRPr sz=”<span class="izred">1800</span>″ kern=”1200″&gt;</strong> <br />
To: <br />
<strong>&lt;a:defRPr sz=”<span class="izred">1450</span>″ kern=”1200″&gt;</strong> </p>
<p>Since this first level can be used for headings, let’s make it all-caps while we’re at it. Edit the line to change <br />
<strong>&lt;a:defRPr sz=”1450″ kern=”1200″ &gt;</strong> <br />
To: <br />
<strong>&lt;a:defRPr sz=”1450″ kern=”1200″ <span class="izred">cap=”all”</span>&gt;</strong></p>
<p>Done!</p>
<div class="stitched">
Please note, this can be used for headings, but the user must still use the <strong>Home</strong> | <strong>Increase List Level</strong> command to set the actual level of text for each section of the table. In PowerPoint 2016 for Mac, the command is called <strong>Indent More</strong>.
</div>
<p>Now proceed to the second level and set its point size. </p>
<p>You can change something, such as <br />
<strong>&lt;a:defRPr sz=”<span class="izred">1800</span>″ kern=”1200″&gt;</strong> <br />
To: <br />
<strong>&lt;a:defRPr sz=”<span class="izred">1200</span>″ kern=”1200″&gt;</strong></p>
<p>Other useful attributes for <strong>&lt;a:defRPr&gt;</strong> include:</p>
<ul>
<li><strong>cap=”small”</strong> for small caps, </li>
<li><strong>b=”1″</strong> for bold, and</li>
<li><strong>i=”1″</strong> for italics.</li>
</ul>
<p>In addition, <strong>spc=”400″</strong> adds enough tracking to make 10pt text have about 1 character width between each pair. This latter parameter can be positive for wider spacing or negative to crunch text together.</p>
<p>Scroll down a little further: you’ll notice that there are 9 levels, though in a table you’ll probably only use the first 2 or 3. In typical Microsoft style, each level is indented further than the preceding one.</p>
<p>Compare level 1 with level 2:</p>
<p><strong>&lt;a:lvl1pPr marL=”<span class="izred">0</span>″</strong><br />
<strong>&lt;a:lvl2pPr marL=”<span class="izred">457200</span>″</strong></p>
<p><strong>marL</strong> is the left margin. The units of measurement here are EMUs: English Metric Units. This is an invented measurement system that allows easy conversion between English and Metric units. Suffice it to say that 457200 EMUs are &frac12; inch. When I modify this section, I set all 9 levels to <strong>marL=”0″</strong>. I also set all lower levels to the same point size as the lowest designed level, level 2 in our example. That way, if a user keeps changing to a lower text level, the formatting remains the same.</p>
<p>Text alignment can also be set using the <strong>algn</strong> parameter. The useful settings are:</p>
<ul>
<li><strong>l</strong> for (left), </li>
<li><strong>r</strong> for (right), </li>
<li><strong>ctr</strong> for (centered), </li>
<li><strong>just</strong> for (justified), and </li>
<li><strong>dist</strong> for (text is widespaced to evenly fill cell width).</li>
</ul>
<p>Of course, if you’re setting these <strong>algn</strong> values, <strong>marL</strong> should be set to <strong>0</strong>. The simplest way to experiment with these parameters is to:</p>
<ol>
<li>Set the styles in the main text placeholder of the <a href="https://presglossary.indezine.com/slide-master-view/">Slide Master</a>, the larger slide at the top of the Slide Master list.</li>
<li>Then, unzip the presentation, open <strong>ppt/slideMasters/slideMaster1.xml</strong>, and examine the section.</li>
</ol>
<p>The section uses exactly the same syntax, so if you need bullets or unusual spacing in a table, you can set up to do it.</p>
<p>Here’s what the final file should look like, with the changes highlighted:</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Final-XML-code.png" alt="Final XML code" width="421" height="681" class="alignnone size-full wp-image-469" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Final-XML-code.png 421w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Final-XML-code-185x300.png 185w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Final-XML-code-103x166.png 103w" sizes="auto, (max-width: 421px) 100vw, 421px" /><br />
<em>Final XML code</em></p>
<h2>Preview the Effects </h2>
<p>When you’re finished editing, save and close the file. In a folder window where you can see all the unzipped files, select the folders <strong>_rels</strong>, <strong>docProps</strong> and <strong>ppt</strong>, plus <strong>[Content_Types].xml</strong>:</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Files-to-Zip.png" alt="Files to Zip" width="245" height="72" class="alignnone size-full wp-image-471" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Files-to-Zip.png 245w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Files-to-Zip-134x39.png 134w" sizes="auto, (max-width: 245px) 100vw, 245px" /><br />
<em>Files to Zip</em></p>
<p>Zip them into a file that ends with the same file ending as the original presentation, usually .PPTX. Open in PowerPoint, insert a table, and test your new default font sizes. Please note, assigning these styles makes them available to the whole table, but to access them, you still need to use <strong>Increase List Level</strong>, same as in an ordinary text placeholder. Unfortunately, there’s no way to automatically assign <strong>&lt;a:lvl1pPr&gt;</strong> to table headings and <strong>&lt;a:lvl2pPr&gt;</strong> to the body of the table, which would be cool and helpful.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Original-vs.-Custom-table-text.png" alt="Original vs. Custom table text" width="360" height="265" class="alignnone size-full wp-image-474" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Original-vs.-Custom-table-text.png 360w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Original-vs.-Custom-table-text-300x221.png 300w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Original-vs.-Custom-table-text-134x99.png 134w" sizes="auto, (max-width: 360px) 100vw, 360px" /><br />
<em>Original vs. Custom table text</em></p>
<p><strong>You May Also Like: </strong><a href="https://www.indezine.com/products/powerpoint/learn/themes/xml-editing-visual-studio-express.html">XML Editing in Visual Studio Express with 7-Zip</a></p>
<hr class="dashed">
<p><span class="right rightpadded"><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/John-Korchok-134x166.jpg" alt="John Korchok" width="134" height="166" style="padding-bottom: 15px;" /><br />
<a href="https://www.linkedin.com/in/johnkorchok" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-linkedin fa-2x"></i></a></span><a href="https://presglossary.indezine.com/john-korchok/">John Korchok</a> has been creating reliable branded Office templates and web sites for more than 20 years. He is certified as a Microsoft Office Specialist Master, is an award-winning technical writer and is skilled in programming VBA, JavaScript for PDF and web, HTML, CSS, and PHP. John is a moderator for Microsoft Answers and a volunteer at Stack Overflow, providing answers for Word and PowerPoint for Windows and macOS. He currently works for <a href="https://geetesh.in/brandwares" rel="noopener nofollow noreferrer" target="_blank">Brandwares</a> in metropolitan New York.</p>
<p><em>The views and opinions expressed in this blog post or content are those of the authors or the interviewees and do not necessarily reflect the official policy or position of any other agency, organization, employer, or company. </em></p>
<p>The post <a href="https://powerpointprogram.indezine.com/2020/05/xml-programming-setting-default-table-text-size.html">XML Programming: Setting Default Table Text Size in PowerPoint</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://powerpointprogram.indezine.com/2020/05/xml-programming-setting-default-table-text-size.html/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Introducing XML Hacking in Microsoft Office</title>
		<link>https://powerpointprogram.indezine.com/2020/05/introducing-xml-hacking-in-microsoft-office.html</link>
		
		<dc:creator><![CDATA[Geetesh Bajaj]]></dc:creator>
		<pubDate>Wed, 13 May 2020 04:00:29 +0000</pubDate>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[John Korchok]]></category>
		<guid isPermaLink="false">https://powerpointprogram.indezine.com/?p=409</guid>

					<description><![CDATA[<p>By John Korchok With the introduction of Office 2007, Microsoft changed the basic file format that underlies Word, PowerPoint, and Excel. Instead of the proprietary and mostly undocumented format that ruled from Office 97 to Office 2003, Microsoft made a smart decision and switched to XML. This is tagged text, similar in structure and concept [&#8230;]</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2020/05/introducing-xml-hacking-in-microsoft-office.html">Introducing XML Hacking in Microsoft Office</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color:grey">By <a href="https://presglossary.indezine.com/john-korchok/">John Korchok</a></span></p>
<p>With the introduction of Office 2007, Microsoft changed the basic file format that underlies Word, PowerPoint, and Excel. Instead of the proprietary and mostly undocumented format that ruled from Office 97 to Office 2003, Microsoft made a smart decision and <a href="https://www.indezine.com/products/powerpoint/learn/themes/07-themexmlfiles.html">switched to XML</a>. This is tagged text, similar in structure and concept to HTML code with which you may already be familiar.</p>
<p>XML opens up a world of possibilities for automated document construction, but that’s a topic for another day. The everyday relevance is that if a Word or PowerPoint file isn’t doing what you need it to do and there are no tools in the program for the job, we can now dive in and edit the file ourselves. If you’re a point-and-click user, this is probably not thrilling. But if you’re a hacker at heart, a midnight coder, or just a curious tinkerer, you can do some cool stuff.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Inside-a-simple-Word-file.png" alt="Inside a simple Word file" width="210" height="325" class="alignnone size-full wp-image-417" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Inside-a-simple-Word-file.png 210w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Inside-a-simple-Word-file-194x300.png 194w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/Inside-a-simple-Word-file-107x166.png 107w" sizes="auto, (max-width: 210px) 100vw, 210px" /><br />
<span id="more-409"></span><em>Inside a simple Word file. The document text is stored in XML</em></p>
<p>The main tool you’re going to need is a text editor. While you can get away for a while with Notepad or TextEdit, those simple text editors don’t quite have the tools that get the job done efficiently. On Mac, I use <a href="https://geetesh.in/bbedit" rel="noopener nofollow noreferrer" target="_blank">BBEdit</a> and on Windows, I reach for <a href="https://geetesh.in/notepad-plus-plus" rel="noopener nofollow noreferrer" target="_blank">Notepad++</a>. BBEdit is reasonably-priced shareware and Notepad++ is freeware. They have a similar style of operation, so if you’re a cross-platform hacker it’s easy to switch between them. Notepad++ uses a plugin system, so you can add tools. For this job, you’re definitely going to want the <a href="https://geetesh.in/xml-tools-notepad" rel="noopener nofollow noreferrer" target="_blank">free XML plugin</a>.</p>
<p>Word, Excel, and PowerPoint files in the new format are actually simple ZIP files with a different file extension. Getting into them couldn’t be easier: if you’re using Windows, suffix .ZIP to the end of the file (a copy of the file, if it’s anything important). You’ll get a warning from your OS, but you know what you’re doing! Now unzip it. Out pop several folders of XML, plus a top-level file or two.</p>
<div class="stitched">
<h2>For macOS Users </h2>
<p>macOS requires somewhat more care with handling expanded Office files, or they won’t open. Please see <a href="https://geetesh.in/ooxml-editing-on-mac" rel="noopener nofollow noreferrer" target="_blank">this article </a>for the best procedure on a Mac.</div>
<p>Select one of the files and open it in your text editor. All the files have been linearized to minimize file size. This is where your XML tools come into play.</p>
<ul>
<li>In Notepad++, choose <strong>Plugins</strong> | <strong>XML Tools</strong> | <strong>Pretty Print (XML Only – with line breaks)</strong>.</li>
<li>If you’re using BBEdit, choose <strong>Markup</strong> | <strong>Tidy</strong> | <strong>Reflow Document</strong>.</li>
</ul>
<p>Now you have a nicely indented, easy-to-read page to edit. When you’re done, it’s not necessary to re-linearize. Word, PowerPoint, or Excel will do that for you later.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/A-plain-vanilla-PowerPoint-file.png" alt="A plain vanilla PowerPoint file" width="256" height="912" class="alignnone size-full wp-image-420" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/A-plain-vanilla-PowerPoint-file.png 256w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/A-plain-vanilla-PowerPoint-file-84x300.png 84w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/A-plain-vanilla-PowerPoint-file-47x166.png 47w" sizes="auto, (max-width: 256px) 100vw, 256px" /><br />
<em>A plain vanilla PowerPoint file: more complex than Word.</em></p>
<p>For people using Window’s built-in ZIP utility, there is an easy mistake to watch out for. By default, unzipping a file in Windows creates a new folder named for the file being expanded. If, when you’re re-assembling the file, you include this top-level folder.</p>
<p>PowerPoint may raise an error about unreadable content in the presentation. To avoid this error, first, open the folder that Windows created. Select the <strong>_rels</strong>, <strong>docProps</strong> and <strong>ppt</strong> folders, plus the <strong>[Content_Types].xml</strong> file, then create a ZIP file from them.</p>
<p>XML hacking is useful for Excel or Word when you want to add additional color themes or when you need to rescue a corrupt document. But it really shines with PowerPoint, allowing you to create custom table formats, extra custom colors that don’t fit into a theme, setting the default text size for tables and charts, and much more. This technique separates the PowerPoint pros from the wannabes.</p>
<p>Check out text editors and XML tools so you’re ready to hack! If you want to learn more about how to put some of this to practice, read my next article on <strong>XML Hacking: Default Table Text</strong>.</p>
<hr class="dashed">
<p><span class="right rightpadded"><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/05/John-Korchok-134x166.jpg" alt="John Korchok" width="134" height="166" style="padding-bottom: 15px;" /><br />
<a href="https://www.linkedin.com/in/johnkorchok" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-linkedin fa-2x"></i></a></span><a href="https://presglossary.indezine.com/john-korchok/">John Korchok</a> has been creating reliable branded Office templates and web sites for more than 20 years. He is certified as a Microsoft Office Specialist Master, is an award-winning technical writer and is skilled in programming VBA, JavaScript for PDF and web, HTML, CSS, and PHP. John is a moderator for Microsoft Answers and a volunteer at Stack Overflow, providing answers for Word and PowerPoint for Windows and macOS. He currently works for <a href="https://geetesh.in/brandwares" rel="noopener nofollow noreferrer" target="_blank">Brandwares</a> in metropolitan New York.</p>
<p><em>The views and opinions expressed in this blog post or content are those of the authors or the interviewees and do not necessarily reflect the official policy or position of any other agency, organization, employer, or company. </em></p>
<p>The post <a href="https://powerpointprogram.indezine.com/2020/05/introducing-xml-hacking-in-microsoft-office.html">Introducing XML Hacking in Microsoft Office</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PowerPoint VBA Code: Reapply the Notes Master</title>
		<link>https://powerpointprogram.indezine.com/2020/01/powerpoint-vba-code-reapply-the-notes-master.html</link>
					<comments>https://powerpointprogram.indezine.com/2020/01/powerpoint-vba-code-reapply-the-notes-master.html#comments</comments>
		
		<dc:creator><![CDATA[Geetesh Bajaj]]></dc:creator>
		<pubDate>Thu, 23 Jan 2020 04:00:57 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Macros]]></category>
		<category><![CDATA[PowerPoint]]></category>
		<category><![CDATA[Steve Rindsberg]]></category>
		<category><![CDATA[VBA]]></category>
		<guid isPermaLink="false">https://powerpointprogram.indezine.com/?p=383</guid>

					<description><![CDATA[<p>The Notes Master does not work as predictably as the Slide Master in PowerPoint, and you have to reset (sorry, reapply) the Notes Master to individual Notes pages to see some changes you made. Why is that so? That&#8217;s mainly because there&#8217;s no way to select all Notes Pages in your presentation at the same [&#8230;]</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2020/01/powerpoint-vba-code-reapply-the-notes-master.html">PowerPoint VBA Code: Reapply the Notes Master</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The <a href="https://presglossary.indezine.com/powerpoint-notes-master-view/">Notes Master</a> does not work as predictably as the <a href="https://presglossary.indezine.com/slide-master-view/">Slide Master</a> in PowerPoint, and you have to reset (sorry, reapply) the Notes Master to individual Notes pages to see some changes you made. Why is that so? That&#8217;s mainly because there&#8217;s no way to select all <a href="https://presglossary.indezine.com/powerpoint-notes-page-view/">Notes Pages</a> in your presentation at the same time.</p>
<p>Even if you go are courageous enough to do this task manually, one Notes Page at a time, you will only see the <strong>Reapply master</strong> option when you first right-click an empty area within Notes Page view to bring up the contextual menu, as shown in <strong>Figure 1</strong>, below. You then need to choose the <strong>Notes Layout</strong> option in this menu, as shown highlighted in <span class="izred">red</span> within <strong>Figure 1</strong>, to bring up a dialog box of the same name, as shown in <strong>Figure 2</strong>, below. You then check the <strong>Reapply master</strong> option, as shown highlighted in <span class="izred">red</span> within <strong>Figure 2</strong>. Do the same for forty or a hundred slides, and you may not be too delighted, to say it lightly!</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/01/VBA-Reapply-Notes-Master-01.png" alt="Right-click an empty area within Notes Page view" width="545" height="367" /><br />
<strong>Figure 1: </strong>Right-click an empty area within Notes Page view</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/01/Reapply-Notes-Master.png" alt="Reapply Notes Master" width="182" height="151" class="alignnone size-full wp-image-389" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2020/01/Reapply-Notes-Master.png 182w, https://powerpointprogram.indezine.com/wp-content/uploads/2020/01/Reapply-Notes-Master-134x111.png 134w" sizes="auto, (max-width: 182px) 100vw, 182px" /><br />
<strong>Figure 2: </strong>Reapply Notes Master</p>
<p><span id="more-383"></span>Would VBA provide an easier and more elegant solution? <a href="//presglossary.indezine.com/steve-rindsberg/">Steve Rindsberg</a> of <a href="https://geetesh.in/pptfaq" target="_blank" rel="nofollow noopener noreferrer">PowerPoint FAQ</a> and <a href="//geetesh.in/pptools" target="_blank" rel="nofollow noopener noreferrer">PPTools</a> believes you can get this task done is so much less time.</p>
<p>First, you need to know how you can run <a href="//notes.indezine.com/2007/11/use-macros-and-scripts-in-powerpoint.html">VBA scripts in PowerPoint</a>, and then use this code. Explore the code a bit though.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="vb"><pre class="de1"><span class="kw2">Sub</span> ApplyMasterToNotes()
&nbsp;
<span class="co1">' Modified version of code originally posted to </span>
<span class="co1">' msnews.microsoft.com public newsgroups by </span>
<span class="co1">' David Foster in May of 1999</span>
&nbsp;
    <span class="kw4">Dim</span> ctl <span class="kw4">As</span> CommandBarControl
    <span class="kw4">Dim</span> oSl <span class="kw4">As</span> Slide
&nbsp;
    <span class="co1">' 700 is the control ID for Layout</span>
    <span class="kw4">Set</span> ctl = CommandBars.FindControl(Id:=700)
    ActiveWindow.ViewType = ppViewNotesPage
&nbsp;
    <span class="kw3">If</span> (ctl <span class="kw3">Is</span> <span class="kw5">Nothing</span>) <span class="kw3">Then</span>
        MsgBox <span class="st0">&quot;command not available&quot;</span>
        <span class="kw2">Exit</span> <span class="kw2">Sub</span>
    <span class="kw3">End</span> <span class="kw3">If</span>
&nbsp;
    <span class="kw3">For</span> <span class="kw3">Each</span> oSl <span class="kw3">In</span> ActivePresentation.Slides
&nbsp;
        <span class="co1">' go to the current slide</span>
        ActiveWindow.View.GotoSlide (oSl.SlideIndex)
        <span class="kw3">DoEvents</span>
&nbsp;
        <span class="co1">' Bring up the dialog</span>
        ctl.Execute
        <span class="kw3">DoEvents</span>
&nbsp;
        <span class="co1">' send it the needed keystrokes</span>
        SendKeys <span class="st0">&quot;%r{enter}&quot;</span>
        <span class="kw3">DoEvents</span>
&nbsp;
    <span class="kw3">Next</span>
&nbsp;
<span class="kw3">End</span> <span class="kw2">Sub</span></pre></div></div></div></div></div></div></div>


<p>Once you have placed this code in the VBA editor, close the window to get back to your PowerPoint window. Before you proceed further, it&#8217;s a great idea to save your file. Make sure that you save as a PowerPoint Macro-Enabled Presentation with the PPTM file extension. If you save as any of the other file formats, PowerPoint will offer to remove the macros, and then, of course, the code to reapply the Notes Master will not work! See our <a href="//www.indezine.com/products/powerpoint/learn/interface/powerpointfileformats.html">PowerPoint File Formats</a> page to learn about these file formats.</p>
<p>Then open or switch to the presentation where you need this code, and run the macro. To do so, press the <span class="key2">Alt</span> + <span class="key2">F8</span> shortcut key. In the <strong>Macro</strong> dialog box that appears, next to <strong>Macro in:</strong> choose <strong>All open presentations</strong>, as shown in <strong>Figure 3</strong>, below. Click the <strong>ApplyMasterToNotes</strong> Macro name, and then click the <strong>Run</strong> button, as shown highlighted in <span class="izred">red</span> within <strong>Figure 3</strong>.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2020/01/Run-the-ApplyMasterToNotes-Macro.png" alt="Run the ApplyMasterToNotes Macro" width="386" height="385" /><br />
<strong>Figure 3: </strong>Run the ApplyMasterToNotes Macro</p>
<p>We tested this code using PowerPoint 365 for Windows. </p>
<p><strong>You May Also Like: </strong><a href="https://powerpointprogram.indezine.com/2009/03/use-vba-scripts-in-powerpoint-even-if.html">Use VBA in PowerPoint, Even if You Can’t Program for Nuts</a> | <a href="https://powerpointprogram.indezine.com/2009/03/create-spirograph-in-powerpoin.html">Create Spirographs in PowerPoint Programmatically</a> | <a href="https://powerpointprogram.indezine.com/2009/03/resources-on-powerpoint-programming.html">Resources on PowerPoint Programming and VBA</a></p>
<hr class="dashed">
<p><span class="right rightpadded"><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2012/08/Steve-Rindsberg-134x166.jpg" alt="Steve Rindsberg" width="134" height="166" style="padding-bottom: 15px;" /><br />
<a href="https://www.linkedin.com/in/pptools/" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-linkedin fa-2x"></i></a>&nbsp;&nbsp;<a href="https://twitter.com/steverindsberg" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-twitter fa-2x"></i></a></span><a href="https://presglossary.indezine.com/steve-rindsberg">Steve Rindsberg</a> has been associated with PowerPoint since the product originated more than two decades ago. His <a href="https://geetesh.in/pptfaq" target="_blank" rel="nofollow noopener noreferrer">PowerPoint FAQ</a> site is a treasure trove of PowerPoint information. </p>
<p>When he&#8217;s not updating his site, he&#8217;s working on his popular <a href="https://geetesh.in/pptools" target="_blank" rel="nofollow noopener noreferrer">PPTools add-ins for PowerPoint</a>. Steve&#8217;s also into a lot of print technology related stuff.</p>
<p><strong>See Also: </strong><a href="https://powerpointprogram.indezine.com/2017/11/vba-change-one-shape-to-another.html">VBA: Change One Shape to Another in PowerPoint</a></p>
<p><em>The views and opinions expressed in this blog post or content are those of the authors or the interviewees and do not necessarily reflect the official policy or position of any other agency, organization, employer, or company.</em></p>
<p>The post <a href="https://powerpointprogram.indezine.com/2020/01/powerpoint-vba-code-reapply-the-notes-master.html">PowerPoint VBA Code: Reapply the Notes Master</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://powerpointprogram.indezine.com/2020/01/powerpoint-vba-code-reapply-the-notes-master.html/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>BrightSlide: Creating a Revolutionary PowerPoint Add-in</title>
		<link>https://powerpointprogram.indezine.com/2019/10/brightslide-creating-a-revolutionary-powerpoint-add-in.html</link>
		
		<dc:creator><![CDATA[Geetesh Bajaj]]></dc:creator>
		<pubDate>Thu, 31 Oct 2019 04:00:49 +0000</pubDate>
				<category><![CDATA[Add-ins]]></category>
		<category><![CDATA[Add-in]]></category>
		<category><![CDATA[BrightCarbon]]></category>
		<category><![CDATA[Guest Post]]></category>
		<category><![CDATA[Jamie Garroch]]></category>
		<guid isPermaLink="false">https://powerpointprogram.indezine.com/?p=341</guid>

					<description><![CDATA[<p>A comprehensive, completely free PowerPoint add-in set to revolutionize design workflow has just been released by presentation agency BrightCarbon. We hear from one of its creators, Jamie Garroch. The Beginnings of BrightSlide When I joined BrightCarbon as their Senior technical consultant at the end of 2018, one of the first projects I took on was [&#8230;]</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2019/10/brightslide-creating-a-revolutionary-powerpoint-add-in.html">BrightSlide: Creating a Revolutionary PowerPoint Add-in</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: grey;">A comprehensive, completely free PowerPoint add-in set to revolutionize design workflow has just been released by presentation agency BrightCarbon. We hear from one of its creators, <strong>Jamie Garroch</strong>.</span></p>
<h2>The Beginnings of BrightSlide</h2>
<p>When I joined <a href="https://geetesh.in/brightcarbon" target="_blank" rel="noopener nofollow noreferrer">BrightCarbon</a> as their Senior technical consultant at the end of 2018, one of the first projects I took on was working out how the company could integrate PowerPoint add-ins into its offering. BrightCarbon provides lots of free resources to the presentation community, such as webinar masterclasses and downloadable tools like the <a href="https://geetesh.in/brightcarbon-qat" target="_blank" rel="noopener nofollow noreferrer">Quick Access Toolbar</a>. It made sense to develop our first add-in along the same lines and provide it for free to the community. But what to create?</p>
<p><a href="https://geetesh.in/brightslide" target="_blank" rel="noopener nofollow noreferrer"><img loading="lazy" decoding="async" class="right rightpadded" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/10/brightslide-300x110.png" alt="BrightSlide" width="300" height="110" /></a></p>
<p>We decided to build something that targeted two groups of users, those who dip into PowerPoint every now and then but don’t consider themselves to be experts and those who work in design studios and know PowerPoint inside out. These are very different users and coming up with a feature list meant talking to a sample of people from both groups to understand their needs.</p>
<p><span id="more-341"></span>We put a small team together making use of the skills of two of our senior designers, <em>Taavi Drell</em> and <em>Ingrid Mengdehl</em>. Together we brainstormed the challenges faced by the designers in our own internal design studio and came up with a list of features including things like:</p>
<ul>
<li>Making the alignment of objects easier</li>
<li>Improving the animation design process</li>
<li>Live typography features</li>
<li>More efficient ways of selecting, hiding, showing and locking objects</li>
<li>Bridging the gap between Adobe CC and PowerPoint in respect to keyboard shortcuts</li>
</ul>
<p><img loading="lazy" decoding="async" class="right rightpadded" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/10/BrightSlide-02-179x300.png" alt="BrightSlide 02" width="179" height="300" />I added to this list some of the many feature requests I received during my years developing add-ins prior to joining BrightCarbon. Just a few of these include:</p>
<ul>
<li>Extend the format painter to tables</li>
<li>Provide tools to swap the position of objects and distribute them on a grid</li>
<li>Add objects to other animated objects without losing the animation effects</li>
<li>Design a color picker with support for RBG/HSL/HEX modes</li>
<li>Create a better UI for adding guides to projects</li>
<li>Copy and paste the position of objects from one to another</li>
<li>Add new export tools e.g. slides to new deck and/or images</li>
</ul>
<p>Ideas from the wider presentation community boosted the feature list. There is a great community of presentation creation experts out there who are always looking for new ways to solve problems.</p>
<p>The excellent <a href="https://geetesh.in/presentation-podcast" target="_blank" rel="noopener nofollow noreferrer">Presentation Podcast</a> often raises “I wish I could…” conversations.</p>
<p>I also talked to PowerPoint MVPs (Microsoft Most Valued Professional) and other users at events such as the <a href="https://geetesh.in/presentation-summit" target="_blank" rel="noopener nofollow noreferrer">Presentation Summit</a>.</p>
<p>Our final resource was the <a href="https://geetesh.in/ppt-uservoice" target="_blank" rel="noopener nofollow noreferrer">PowerPoint UserVoice website</a>. This a place where end users can post public feature requests to Microsoft. It’s an excellent opportunity to see what real users want and what Microsoft is unlikely to develop. For example, there were over 5,000 requests to add the ability to embed fonts on PowerPoint:Mac. This is something an add-in can’t do but that Microsoft themselves implemented. However, requests to change the way the alignment tools work are unlikely to be addressed by Microsoft as it would break backwards compatibility.</p>
<p>See a complete <a href="https://geetesh.in/brightslide-features" target="_blank" rel="noopener nofollow noreferrer">list of features here</a>. With our feature list complete, we moved on to choosing the development platform.</p>
<h2>Development Choice</h2>
<p>There are three types of add-ins that Office applications support:</p>
<ol>
<li>Application (automation) add-ins, written in VBA (Visual Basic for Applications)</li>
<li>COM add-ins</li>
<li>Cloud-based add-ins</li>
</ol>
<p>The first and second provide tight integration with the hosting application and can support all kinds of control types in the ribbon from simple buttons to complex galleries of content. One key difference between these two is that VBA is supported on both PC and Mac, but COM add-ins are Windows-only. The third type offers a much lower level of UI integration and is most suited for add-ins providing users with access to large libraries of content such as icons, pictures and other media types.</p>
<p>Although the first release of BrightSlide is made for PC users, we want to keep the Mac option open, so chose VBA as our development platform. Next, we moved on to the UI.</p>
<h2>UI/UX Design</h2>
<p>One of the challenges of choosing VBA as our dev platform was that the built in controls (buttons, check boxes, drop downs etc.) have a style reminiscent of the 1980’s, making add-ins look very dated as you can see here:</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/10/BrightSlide-03.png" alt="BrightSlide 03" width="306" height="232" /></p>
<p>Our resident UI/UX design specialist threw away the rule book and came up with a modern flat-style pattern library built on our own brand. This is one section of the library:</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/10/BrightSlide-04.png" alt="BrightSlide 04" width="596" height="384" /></p>
<p>Translating this pattern library into code required the development of multiple custom control classes instead of using the built-in controls provided by VBA. The result is beautiful and unrecognizable as being VBA. This is the UserForm for the guides feature in BrightSlide:</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/10/BrightSlide-05.png" alt="BrightSlide 05" width="524" height="274" /></p>
<p>Once we’d got our UI design for windows, Taavi conducted UX research following standard industry practices. One of the big challenges was to work out the most optimal layout for the ribbon. He interviewed several designers posing them with all kinds of exercises, labelling/layout choices and UI design approaches. The result of this iterative process yielded the ribbon layout you can see below:</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/10/BrightSlide-06.png" alt="BrightSlide 06" width="1144" height="172" /></p>
<p>The layout places the most-used features in the centre of the ribbon for faster access. In the screenshot above you can see the BrightCarbon QAT below the ribbon which can be customised by adding groups and/or individual features from BrightSlide.</p>
<p>The final part of our development process was to have all our designers install BrightSlide and use it on real client projects for several months. This exposed all kinds of things we needed to tweak and bugs that needed fixing. We also provided an early beta version to power users in the presentation industry, including several PowerPoint MVPs.</p>
<p>We’re finally ready to release BrightSlide to the public and can’t wait to see how it transforms presentation creation for the presentation community.</p>
<p>You can <a href="https://geetesh.in/brightslide" target="_blank" rel="noopener nofollow noreferrer">download BrightSlide here</a>.</p>
<hr class="dashed">
<p><span class="right rightpadded"><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2012/08/Jamie-Garroch-134x166.jpg" alt="Jamie Garroch" width="134" height="166"  style="padding-bottom: 15px;" /><br />
<a href="https://www.linkedin.com/in/jamiegarroch/" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-linkedin fa-2x"></i></a>&nbsp;&nbsp;<a href="https://twitter.com/JamieGarroch" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-twitter fa-2x"></i></a>&nbsp;&nbsp;<a href="https://twitter.com/BrightCarbon" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-twitter fa-2x"></i></a></span><a href="https://presglossary.indezine.com/jamie-garroch/">Jamie Garroch</a> is a Technical Consultant at <a href="https://geetesh.in/brightcarbon" rel="noopener nofollow noreferrer" target="_blank">BrightCarbon</a>, the specialist presentation and eLearning agency.</p>
<p>He develops PowerPoint automation solutions and add-ins that enable presentation authors to work smarter.</p>
<p>He also trains people to present more effectively using visuals and animated scenes that explain and reinforce key messages, which is supported by free resources and tips at their site.</p>
<p><em>The views and opinions expressed in this blog are those of the authors and do not necessarily reflect the official policy or position of any other agency, organization, employer or company.</em></p>
<p>The post <a href="https://powerpointprogram.indezine.com/2019/10/brightslide-creating-a-revolutionary-powerpoint-add-in.html">BrightSlide: Creating a Revolutionary PowerPoint Add-in</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PowerPoint VBA Code: Export Slides to Single Slide Presentations</title>
		<link>https://powerpointprogram.indezine.com/2019/10/powerpoint-vba-export-slides-to-single-slide-presentations.html</link>
					<comments>https://powerpointprogram.indezine.com/2019/10/powerpoint-vba-export-slides-to-single-slide-presentations.html#comments</comments>
		
		<dc:creator><![CDATA[Geetesh Bajaj]]></dc:creator>
		<pubDate>Wed, 16 Oct 2019 04:00:45 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Jamie Garroch]]></category>
		<category><![CDATA[Macros]]></category>
		<category><![CDATA[VBA]]></category>
		<guid isPermaLink="false">https://powerpointprogram.indezine.com/?p=292</guid>

					<description><![CDATA[<p>One of our most popular posts is one where you learn how you can export all the slides in your presentation to single-slide PowerPoint presentations. Although the interface for this process uses the SharePoint libary options, many more people used this feature to export single-slide presentations, without worrying about anything to do with SharePoint. Did [&#8230;]</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2019/10/powerpoint-vba-export-slides-to-single-slide-presentations.html">PowerPoint VBA Code: Export Slides to Single Slide Presentations</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>One of our most popular posts is one where you learn how you can <a href="https://notes.indezine.com/2017/08/export-all-slides-to-single-slide-powerpoint-presentations.html">export all the slides in your presentation to single-slide PowerPoint presentations</a>. Although the interface for this process uses the SharePoint libary options, many more people <em>used</em> this feature to export single-slide presentations, without worrying about anything to do with SharePoint. Did you notice <em>used</em> rather than <em>use</em> in the previous sentence? Yes, this feature is now deprecated! If you have an older installation of PowerPoint that is not updated, this may still work for you. Otherwise, this amazing feature is dead.</p>
<p>Understandably, many PowerPoint users are unhappy because it&#8217;s a real pain to export hundred of slides as individual slide files. Thankfully, our good friend, <a href="https://presglossary.indezine.com/jamie-garroch/">Jamie Garroch</a> from <a href="https://geetesh.in/brightcarbon" rel="noopener nofollow noreferrer" target="_blank">BrightCarbon</a> has written some VBA code that will help you revive this option!</p>
<p><span id="more-292"></span>First you need to know how you can run <a href="https://notes.indezine.com/2007/11/use-macros-and-scripts-in-powerpoint.html">VBA scripts in PowerPoint</a> &#8212; then use this code. Explore the code a bit though. Also, do you see the &#8220;Option Explicit&#8221; line at the beginning of the code below? If your PowerPoint file has an existing module that already includes this line atop the code, you don’t need the first line again, and you can leave out this line from the top.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="vb"><pre class="de1"><span class="kw2">Option</span> <span class="kw2">Explicit</span>
<span class="co1">' =======================================================================</span>
<span class="co1">' PowerPoint VBA Macro</span>
<span class="co1">' =======================================================================</span>
<span class="co1">' Purpose: Takes each non-hidden slide in a presentation and creates a</span>
<span class="co1">'          single-slide presentation in the same folder as the source</span>
<span class="co1">'          deck with the file name suffixed with the slide number.</span>
<span class="co1">' Example: If a three-slide active presentation is called myDeck.pptx the</span>
<span class="co1">'          following presentation files are created:</span>
<span class="co1">'             myDeck [slide 1].pptx</span>
<span class="co1">'             myDeck [slide 2].pptx</span>
<span class="co1">'             myDeck [slide 3].pptx</span>
<span class="co1">' Author:  Jamie Garroch of BrightCarbon</span>
<span class="co1">' Date:    05MAR2019</span>
<span class="co1">' =======================================================================</span>
<span class="kw2">Sub</span> ExportSlidesAsPresentations()
  <span class="kw4">Dim</span> oSld <span class="kw4">As</span> Slide           <span class="co1">' Reference to a slide object</span>
  <span class="kw4">Dim</span> tPath <span class="kw4">As</span> <span class="kw1">String</span>         <span class="co1">' Path of the active presentation</span>
  <span class="kw4">Dim</span> tFileName <span class="kw4">As</span> <span class="kw1">String</span>     <span class="co1">' Filename for the output presentation</span>
  <span class="kw4">Dim</span> arrSR() <span class="kw4">As</span> <span class="kw1">Variant</span>      <span class="co1">' Array of slides to be deleted</span>
  <span class="kw4">Dim</span> lIdx <span class="kw4">As</span> <span class="kw1">Long</span>            <span class="co1">' Slide index counter</span>
  <span class="kw4">Dim</span> lCount <span class="kw4">As</span> <span class="kw1">Long</span>          <span class="co1">' Slides array dimension</span>
  <span class="kw4">Dim</span> lSldIdx <span class="kw4">As</span> <span class="kw1">Long</span>         <span class="co1">' Current slide index</span>
  <span class="kw4">Dim</span> lVisibleSlides <span class="kw4">As</span> <span class="kw1">Long</span>  <span class="co1">' Total number of visible slides to export</span>
&nbsp;
  <span class="kw4">On</span> <span class="kw4">Error</span> <span class="kw3">GoTo</span> <span class="kw6">errorhandler</span>
&nbsp;
  <span class="kw3">For</span> <span class="kw3">Each</span> oSld <span class="kw3">In</span> ActivePresentation.Slides
    <span class="kw3">If</span> <span class="kw3">Not</span> oSld.SlideShowTransition.Hidden <span class="kw3">Then</span> lVisibleSlides = lVisibleSlides + 1
  <span class="kw3">Next</span>
&nbsp;
  <span class="kw3">If</span> MsgBox(<span class="st0">&quot;Depending on the number of visible slides to export and the size &quot;</span> &amp; _
    <span class="st0">&quot;of your presentation, this might take some time.&quot;</span> &amp; vbCrLf &amp; vbCrLf &amp; <span class="st0">&quot;Continue?&quot;</span>, _
    vbYesNo + vbQuestion, _
    <span class="st0">&quot;Export &quot;</span> &amp; lVisibleSlides &amp; <span class="st0">&quot; Visible Slides to Presentations&quot;</span>) = vbNo <span class="kw3">Then</span> <span class="kw2">Exit</span> <span class="kw2">Sub</span>
&nbsp;
  <span class="kw3">With</span> ActivePresentation
    tPath = ActivePresentation.Path
&nbsp;
    <span class="co1">' Export each slide as a presentation by deleting all other slides</span>
    <span class="co1">' and the restore the slides using ctrl+z</span>
    <span class="kw3">For</span> <span class="kw3">Each</span> oSld <span class="kw3">In</span> .Slides
      <span class="kw3">If</span> <span class="kw3">Not</span> oSld.SlideShowTransition.Hidden <span class="kw3">Then</span>
        lSldIdx = oSld.SlideIndex
        Erase arrSR
        lCount = 0
&nbsp;
        <span class="co1">' Get an array of all slides in the presentation except this one</span>
        <span class="kw3">For</span> lIdx = 1 <span class="kw3">To</span> .Slides.Count
          <span class="kw3">If</span> <span class="kw3">Not</span> oSld <span class="kw3">Is</span> .Slides(lIdx) <span class="kw3">Then</span>
            <span class="kw4">ReDim</span> <span class="kw4">Preserve</span> arrSR(lCount)
            arrSR(lCount) = lIdx
            lCount = lCount + 1
          <span class="kw3">End</span> <span class="kw3">If</span>
        <span class="kw3">Next</span>
&nbsp;
        <span class="co1">' Select and delete all slides except this one</span>
        <span class="kw3">If</span> ActiveWindow.ViewType = ppViewNormal <span class="kw3">Then</span> ActiveWindow.Panes(1).Activate
        .Slides.Range(arrSR).<span class="kw3">Select</span>
        ActiveWindow.Selection.Delete
        <span class="kw3">DoEvents</span>
&nbsp;
        <span class="co1">' Build a unique filename and save a coy of the now single-slide presentation</span>
        tFileName = Left(.Name, InStrRev(.Name, <span class="st0">&quot;.&quot;</span>) - 1) &amp; <span class="st0">&quot; [slide &quot;</span> &amp; lSldIdx &amp; <span class="st0">&quot;].pptx&quot;</span>
        .SaveCopyAs tPath &amp; <span class="st0">&quot;\&quot;</span> &amp; tFileName, ppSaveAsOpenXMLPresentation
&nbsp;
        <span class="co1">' Undo the slide deletion to recover all slides</span>
        CommandBars.ExecuteMso <span class="st0">&quot;Undo&quot;</span>
        <span class="kw3">DoEvents</span>
      <span class="kw3">End</span> <span class="kw3">If</span>
    <span class="kw3">Next</span>
&nbsp;
  <span class="kw3">End</span> <span class="kw3">With</span>
&nbsp;
  <span class="co1">' Give feedback to the user</span>
  MsgBox lVisibleSlides &amp; <span class="st0">&quot; slide(s) exported to &quot;</span> &amp; tPath, _
         vbQuestion + vbOKOnly, <span class="st0">&quot;BrightCarbon - Export Complete&quot;</span>
&nbsp;
  <span class="kw4">On</span> <span class="kw4">Error</span> <span class="kw3">GoTo</span> 0
&nbsp;
  <span class="kw2">Exit</span> <span class="kw2">Sub</span>
&nbsp;
<span class="kw6">errorhandler</span>:
  Debug.<span class="kw4">Print</span> Err, Err.Description
  <span class="kw3">Resume</span> <span class="kw3">Next</span>
<span class="kw3">End</span> <span class="kw2">Sub</span></pre></div></div></div></div></div></div></div>


<p>Now follow these steps:</p>
<ol>
<li value="1">Once you have placed this code in the VBA editor, close the window to get back to your PowerPoint window.</li>
<li value="2">Before you proceed further, it&#8217;s a great idea to save your file. Be sure to save as a PowerPoint Macro-Enabled Presentation with the <strong>PPTM</strong> file extension. If you save as any of the other file formats, PowerPoint will offer to remove the macros, and then, of course, the code to export single-slide PowerPoint presentations will not work!</li>
<li class="emptybullet">See our <a href="https://presglossary.indezine.com/file-formats/">PowerPoint File Formats</a> page to learn about these file formats.</li>
<li value="3">Then open or switch to the presentation which has multiple slides and run the macro.</li>
<li class="emptybullet">To do so, press the <span class="key2">Alt</span> + <span class="key2">F8</span> shortcut key. In the <strong>Macro</strong> dialog box that appears, for <strong>Macro in:</strong> choose <strong>All open presentations</strong>, as shown highlighted in <span class="izred">red</span> within <strong>Figure 1</strong>, below.</li>
<li class="emptybullet"><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/09/Macro-dialog-box.png" alt="Macro dialog box" width="386" height="385" /><br />
<strong>Figure 1: </strong>Macro dialog box</li>
<li value="4">Now click the <strong>ExportSlidesAsPresentations</strong> Macro name (highlighted in <span class="izblue">blue</span>), and then click the <strong>Run</strong> button, highlighted in <span class="izgreen">green</span>.
</ol>
<p>We tested this code using PowerPoint 365 for Windows.</p>
<p>We used a sample presentation, shown in the folder in <strong>Figure 2</strong>.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/09/Single-PowerPoint-file.png" alt="Single PowerPoint file" width="640" height="499" /><br />
<strong>Figure 2: </strong>Single PowerPoint file</p>
<p>This presentation file has 11 slides, as can be seen in <strong>Figure 3</strong>, below.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/09/Eleven-PowerPoint-slides.png" alt="Eleven PowerPoint slides" width="543" height="622" /><br />
<strong>Figure 3: </strong>Eleven PowerPoint slides</p>
<p>We ran the macro, as explained previously in this post, and saw the message box that you can see in <strong>Figure 4</strong>, below. We clicked the <strong>Yes</strong> button.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/09/Export-slides.png" alt="Export slides" width="409" height="172" /><br />
<strong>Figure 4: </strong>Export slides</p>
<p>Soon, we found another message that indicates the slides were successfully exported, as can be seen in <strong>Figure 5</strong>, below.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/09/Export-complete.png" alt="Export complete" width="379" height="152" /><br />
<strong>Figure 5: </strong>Export complete</p>
<p>Sure enough, the folder containing the presentation now had 11 more PowerPoint files in addition to the original file (see <strong>Figure 6</strong>). These 11 presentations were all single slide presentations.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/09/Exported-slides.png" alt="Exported slides" width="679" height="427" /><br />
<strong>Figure 6: </strong>Exported slides</p>
<p>Do note though that this code works best in <a href="https://presglossary.indezine.com/views-normal/">Normal view</a>. Don&#8217;t try in <a href="https://presglossary.indezine.com/views-slide-sorter/">Slide Sorter view</a>.</p>
<p><strong>Related Content: </strong><a href="https://notes.indezine.com/2017/08/export-all-slides-to-single-slide-powerpoint-presentations.html">Export All Slides to Single Slide PowerPoint Presentations</a></p>
<p><strong>You May Also Like: </strong><a href="/2018/01/jamies-pattern-fill-transparency-add-powerpoint.html">Jamie’s Pattern Fill Transparency Add-in for PowerPoint</a> | <a href="/2012/08/powerpoint-2013-for-developers_17.html">PowerPoint 2013 for Developers: Conversation with Jamie Garroch</a></p>
<hr class="dashed">
<p>Do note that Jamie recommends the <a href="https://geetesh.in/brightslide" rel="noopener nofollow noreferrer" target="_blank">BrightSlide</a> add-in for PowerPoint that provides a couple of variations of this feature, as can be seen in the screenshot below.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2019/10/BrightSlide-Export.png" alt="BrightSlide Export options" width="478" height="208" /></p>
<hr class="dashed">
<p><span class="right rightpadded"><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2012/08/Jamie-Garroch-134x166.jpg" alt="Jamie Garroch" width="134" height="166"  style="padding-bottom: 15px;" /><br />
<a href="https://www.linkedin.com/in/jamiegarroch/" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-linkedin fa-2x"></i></a>&nbsp;&nbsp;<a href="https://twitter.com/JamieGarroch" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-twitter fa-2x"></i></a>&nbsp;&nbsp;<a href="https://twitter.com/BrightCarbon" target="_blank" rel="nofollow noopener noreferrer"><i class="fab fa-twitter fa-2x"></i></a></span><a href="https://presglossary.indezine.com/jamie-garroch/">Jamie Garroch</a> is a Technical Consultant at <a href="https://geetesh.in/brightcarbon" rel="noopener nofollow noreferrer" target="_blank">BrightCarbon</a>, the specialist presentation and eLearning agency.</p>
<p>He develops PowerPoint automation solutions and add-ins that enable presentation authors to work smarter.</p>
<p>He also trains people to present more effectively using visuals and animated scenes that explain and reinforce key messages, which is supported by free resources and tips at their site.</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2019/10/powerpoint-vba-export-slides-to-single-slide-presentations.html">PowerPoint VBA Code: Export Slides to Single Slide Presentations</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://powerpointprogram.indezine.com/2019/10/powerpoint-vba-export-slides-to-single-slide-presentations.html/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Jamie&#8217;s Pattern Fill Transparency Add-in for PowerPoint</title>
		<link>https://powerpointprogram.indezine.com/2018/01/jamies-pattern-fill-transparency-add-powerpoint.html</link>
		
		<dc:creator><![CDATA[Geetesh Bajaj]]></dc:creator>
		<pubDate>Tue, 30 Jan 2018 04:15:35 +0000</pubDate>
				<category><![CDATA[Add-ins]]></category>
		<category><![CDATA[Add-in]]></category>
		<category><![CDATA[Jamie Garroch]]></category>
		<category><![CDATA[VBA]]></category>
		<guid isPermaLink="false">https://powerpointprogram.indezine.com/?p=274</guid>

					<description><![CDATA[<p>In September last year, we carried a feature that showed how you could create transparent pattern fills in newer versions of PowerPoint. We ended that post with the hope that someone will be able to provide a VBA-based solution. Around Christmas, Jamie Garroch of YOUpresent decided to play Santa Claus and provided more than just [&#8230;]</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2018/01/jamies-pattern-fill-transparency-add-powerpoint.html">Jamie&#8217;s Pattern Fill Transparency Add-in for PowerPoint</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In September last year, we carried a feature that showed how you could <a href="https://notes.indezine.com/2017/09/transparent-pattern-fills-powerpoint.html">create transparent pattern fills in newer versions of PowerPoint</a>. We ended that post with the hope that someone will be able to provide a VBA-based solution.</p>
<p>Around Christmas, <a href="https://presglossary.indezine.com/jamie-garroch/">Jamie Garroch</a> of <a href="https://geetesh.in/youpresent" target="_blank" rel="nofollow noopener noreferrer">YOUpresent</a> decided to play Santa Claus and provided more than just a VBA solution. He created a <a href="https://geetesh.in/jamie-transparent-patterns" target="_blank" rel="nofollow noopener noreferrer">free add-in</a> that sits comfortably within your PowerPoint right-click menu. This menu option provides you with quick access to adding transparency in pattern fills for shapes!</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-279" src="https://powerpointprogram.indezine.com/wp-content/uploads/2018/01/Pattern-Fill-Transparency.png" alt="Pattern Fill Transparency" width="204" height="499" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2018/01/Pattern-Fill-Transparency.png 204w, https://powerpointprogram.indezine.com/wp-content/uploads/2018/01/Pattern-Fill-Transparency-123x300.png 123w, https://powerpointprogram.indezine.com/wp-content/uploads/2018/01/Pattern-Fill-Transparency-68x166.png 68w" sizes="auto, (max-width: 204px) 100vw, 204px" /></p>
<p><span id="more-274"></span>Since this was such an amazing gift, we decided to hold on to this story until everyone got back from their holidays, and then it looks like we waited too long! Well, you no longer need to wait. Before we tell you more, let us ask Jamie to tell us more about this add-in.</p>
<p><img decoding="async" class="right rightpadded" src="https://powerpointprogram.indezine.com/wp-content/uploads/2012/08/Jamie-Garroch-134x166.jpg" alt="Jamie Garroch" /><span class="quotation-inline">The idea actually came from Geetesh as a follow up to the <a href="https://notes.indezine.com/2017/09/transparent-pattern-fills-powerpoint.html">Transparent Pattern Fills in PowerPoint</a> article published on Indezine in which he eluded that maybe there was a VBA solution to make the setting of transparent pattern fills easier for users of PowerPoint 2007 and later. I love a good challenge and I also enjoy evangelizing about the extensibility capabilities provided by Office applications, particularly PowerPoint. The challenge is now solved and the knowledge is shared, thanks to the publication of the source code. I hope it inspires people to have a go at writing their own VBA projects. </span></p>
<p>Thank you, Jamie.</p>
<p>For those who would like to now add transparency to your pattern fills, there&#8217;s an easy solution. You can <a href="https://geetesh.in/jamie-transparent-patterns" target="_blank" rel="nofollow noopener noreferrer">download the PowerPoint add-in from Jamie&#8217;s site</a>. And if you need some inspiration to use transparent patterns, then Jamie provides that too! On his site, you can find an old television set that has the scanlines effect, created entirely in PowerPoint!</p>
<p>And for programmers, Jamie also generously provides the entire source code.</p>
<p><strong>You May Also Like: </strong><a href="https://www.indezine.com/products/powerpoint/addin/">PowerPoint Add-ins</a></p>
<p>The post <a href="https://powerpointprogram.indezine.com/2018/01/jamies-pattern-fill-transparency-add-powerpoint.html">Jamie&#8217;s Pattern Fill Transparency Add-in for PowerPoint</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PowerPoint VBA: Change UPPERCASE To Normal Case</title>
		<link>https://powerpointprogram.indezine.com/2017/12/vba-change-uppercase-normal-case.html</link>
					<comments>https://powerpointprogram.indezine.com/2017/12/vba-change-uppercase-normal-case.html#comments</comments>
		
		<dc:creator><![CDATA[Geetesh Bajaj]]></dc:creator>
		<pubDate>Wed, 06 Dec 2017 04:00:44 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Steve Rindsberg]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[VBA]]></category>
		<guid isPermaLink="false">https://powerpointprogram.indezine.com/?p=249</guid>

					<description><![CDATA[<p>When you add slides to a presentation based on some of PowerPoint&#8217;s built-in Themes, you may find that all titles (headings and/or subheads) scream out in UPPERCASE letters, no matter what you do! In some cases, this behavior may happen because the chosen font contains only uppercase letters. Alternatively, and more likely, the presentation&#8217;s Theme [&#8230;]</p>
<p>The post <a href="https://powerpointprogram.indezine.com/2017/12/vba-change-uppercase-normal-case.html">PowerPoint VBA: Change UPPERCASE To Normal Case</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>When you add slides to a presentation based on some of PowerPoint&#8217;s built-in Themes, you may find that all titles (headings and/or subheads) scream out in UPPERCASE letters, no matter what you do!</p>
<p><img loading="lazy" decoding="async" width="889" height="352" src="https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/Uppercase-to-Title-Case-01.jpg" alt="Uppercase to Normal Case 01" class="alignnone size-full wp-image-252" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/Uppercase-to-Title-Case-01.jpg 889w, https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/Uppercase-to-Title-Case-01-300x119.jpg 300w, https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/Uppercase-to-Title-Case-01-768x304.jpg 768w, https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/Uppercase-to-Title-Case-01-134x53.jpg 134w" sizes="auto, (max-width: 889px) 100vw, 889px" /></p>
<p>In some cases, this behavior may happen because the chosen font contains only uppercase letters. Alternatively, and more likely, the presentation&#8217;s Theme has placeholders set to produce all uppercase (aka capital) letters. The <a href="https://www.slideshare.net/indezine_powerpoint/circuit-theme-in-powerpoint" target="_blank" rel="nofollow">Circuit</a> and <a href="https://www.slideshare.net/indezine_powerpoint/integral-theme-in-powerpoint" target="_blank" rel="nofollow">Integral</a> themes that come with some versions of PowerPoint are examples of such Themes.</p>
<p><span id="more-249"></span><strong>Related Content: </strong><a href="https://www.indezine.com/products/powerpoint/learn/themes/which-themes-are-installed.html">Which Themes are Installed within Office Versions?</a></p>
<p>You can laboriously select the text on each Master and individual Layout in Slide Master view, and then use the <strong>Home</strong> tab | <strong>Font </strong>group, and click the Dialog Launcher. Then, in the resultant dialog, remove the checkmark next to <strong>All Caps</strong> each time.</p>
<p>Would VBA provide an easier and more elegant solution? <a href="//presglossary.indezine.com/steve-rindsberg/">Steve Rindsberg</a> of <a href="//geetesh.in/pptfaq" target="_blank" rel="nofollow noopener">PowerPoint FAQ</a> and <a href="//geetesh.in/pptools" target="_blank" rel="nofollow">PPTools</a> believes you can get the job done in less time it took you to read this paragraph! Do note that Steve&#8217;s code will not change your text to Sentence case or Title case&#8211;it merely removes the automatic UPPERCASE.</p>
<p>First you need to know how you can run <a href="//notes.indezine.com/2007/11/use-macros-and-scripts-in-powerpoint.html">VBA scripts in PowerPoint</a> &#8212; then use this code. Explore the code a bit though.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="vb"><pre class="de1"><span class="kw2">Sub</span> FixAllCaps()
&nbsp;
    <span class="kw4">Dim</span> oDes <span class="kw4">As</span> Design
    <span class="kw4">Dim</span> oLay <span class="kw4">As</span> CustomLayout
    <span class="kw4">Dim</span> oSh <span class="kw4">As</span> Shape
&nbsp;
    <span class="kw3">For</span> <span class="kw3">Each</span> oDes <span class="kw3">In</span> ActivePresentation.Designs
        <span class="kw3">For</span> <span class="kw3">Each</span> oSh <span class="kw3">In</span> oDes.SlideMaster.Shapes
            <span class="kw2">Call</span> NoAllCaps(oSh)
        <span class="kw3">Next</span>
        <span class="kw3">For</span> <span class="kw3">Each</span> oLay <span class="kw3">In</span> oDes.SlideMaster.CustomLayouts
            <span class="kw3">For</span> <span class="kw3">Each</span> oSh <span class="kw3">In</span> oLay.Shapes
                <span class="kw2">Call</span> NoAllCaps(oSh)
            <span class="kw3">Next</span>
        <span class="kw3">Next</span>
    <span class="kw3">Next</span>
&nbsp;
<span class="kw3">End</span> <span class="kw2">Sub</span>
&nbsp;
<span class="kw2">Sub</span> NoAllCaps(<span class="kw4">ByRef</span> oSh <span class="kw4">As</span> Shape)
&nbsp;
    <span class="kw3">With</span> oSh
        <span class="kw3">If</span> .HasTextFrame <span class="kw3">Then</span>
            <span class="kw3">If</span> .TextFrame2.HasText <span class="kw3">Then</span>
                .TextFrame2.TextRange.Font.Allcaps = <span class="kw5">False</span>
            <span class="kw3">End</span> <span class="kw3">If</span>
        <span class="kw3">End</span> <span class="kw3">If</span>
    <span class="kw3">End</span> <span class="kw3">With</span>
&nbsp;
<span class="kw3">End</span> <span class="kw2">Sub</span></pre></div></div></div></div></div></div></div>


<p>Once you have placed this code in the VBA editor, close the window to get back to your PowerPoint window. Before you proceed further, it&#8217;s a great idea to save your file &#8212; be sure to save as a PowerPoint Macro-Enabled Presentation with the PPTM file extension. If you save as any of the other file formats, PowerPoint will offer to remove the macros, and then, of course, the code to change from UPPERCASE to default case will not work! See our <a href="//www.indezine.com/products/powerpoint/learn/interface/powerpointfileformats.html">PowerPoint File Formats</a> page to learn about these file formats.</p>
<p>Then open or switch to the presentation with the UPPERCASE text and run the macro. To do that, press the <strong>Alt F8</strong> shortcut key. In the Macro dialog box that appears, next to <strong>Macro in:</strong> choose <strong>All open presentations</strong>, as shown in the figure below. Click the <strong>FixAllCaps</strong> Macro name, and then click the <strong>Run</strong> button.</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/FixAllCaps-VBA-Macro.jpg" alt="FixAllCaps VBA Macro" width="386" height="385" class="alignnone size-full wp-image-257" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/FixAllCaps-VBA-Macro.jpg 386w, https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/FixAllCaps-VBA-Macro-150x150.jpg 150w, https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/FixAllCaps-VBA-Macro-300x300.jpg 300w, https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/FixAllCaps-VBA-Macro-134x134.jpg 134w" sizes="auto, (max-width: 386px) 100vw, 386px" /></p>
<p>We tested this code using PowerPoint 2013 for Windows. </p>
<p>You can see the end result in the Figure below. Compare with a Figure of the same slides, earlier on this page, and you will notice that the word, AVOID is still in all uppercase. That&#8217;s because the original text was in uppercase and this VBA code does not change any text at all. Rather it removes any automatic UPPERCASE forced onto you!</p>
<p><img loading="lazy" decoding="async" src="https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/Uppercase-to-Title-Case-02.jpg" alt="Uppercase to Title Case 02" width="889" height="352" class="alignnone size-full wp-image-259" srcset="https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/Uppercase-to-Title-Case-02.jpg 889w, https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/Uppercase-to-Title-Case-02-300x119.jpg 300w, https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/Uppercase-to-Title-Case-02-768x304.jpg 768w, https://powerpointprogram.indezine.com/wp-content/uploads/2017/12/Uppercase-to-Title-Case-02-134x53.jpg 134w" sizes="auto, (max-width: 889px) 100vw, 889px" /></p>
<p>This VBA code works on all placeholders&#8211;even body text in Content placeholders! We tested this code on a presentation that used the <a href="https://www.slideshare.net/indezine_powerpoint/main-event-theme-in-powerpoint" target="_blank" rel="nofollow">Main Event</a> theme that uses UPPERCASE for all body text.</p>
<p>Do note though that this code works only on text placeholders, and leaves text boxes alone. It also does not make any changes to text in shapes, charts, and elsewhere.</p>
<p><strong>Related Content: </strong><a href="https://presglossary.indezine.com/text-text-boxes-vs-text-placeholders/" target="_blank" rel="nofollow">Text Placeholders vs. Text Boxes in PowerPoint</a> </p>
<p><strong>You May Also Like: </strong><a href="/2009/03/use-vba-scripts-in-powerpoint-even-if.html">Use VBA in PowerPoint, Even if You Can’t Program for Nuts</a> | <a href="/2009/03/create-spirograph-in-powerpoin.html">Create Spirographs in PowerPoint Programmatically</a> | <a href="/2009/03/resources-on-powerpoint-programming.html">Resources on PowerPoint Programming and VBA</a></p>
<hr class="dashed">
<p><img decoding="async" class="left" style="padding-bottom: 15px; padding-right: 25px;" src="/wp-content/uploads/2012/08/Steve-Rindsberg-134x166.jpg" alt="Steve Rindsberg" /><strong>Steve Rindsberg</strong> has been associated with PowerPoint since the product originated more than two decades ago &#8212; his <a href="//geetesh.in/pptfaq" target="_blank" rel="nofollow noopener">PowerPoint FAQ</a> site is a treasure trove of PowerPoint information. </p>
<p>When he&#8217;s not updating his site, he&#8217;s working on his popular <a href="//geetesh.in/pptools" target="_blank" rel="nofollow noopener">PPTools add-ins for PowerPoint</a>. Steve&#8217;s also into a lot of print technology related stuff.</p>
<p><strong>See Also: </strong><a href="/2017/11/vba-change-one-shape-to-another.html">VBA: Change One Shape to Another in PowerPoint</a></p>
<p>The post <a href="https://powerpointprogram.indezine.com/2017/12/vba-change-uppercase-normal-case.html">PowerPoint VBA: Change UPPERCASE To Normal Case</a> appeared first on <a href="https://powerpointprogram.indezine.com">PowerPoint Programming</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://powerpointprogram.indezine.com/2017/12/vba-change-uppercase-normal-case.html/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
