PowerPoint Construction – Best Practices

PowerPoint was built so that a completely new users could build a presentation without knowing anything about the program. A quick look at the typical presentations out there will quickly confirm how little most users know about the program. But there is a design, an internal workflow that was built into the software. Creating a file that uses this workflow will make your templates and themes easier to use. Users will be able to build presentations faster and suffer fewer WTF moments. The deck will simply work better when you use these PowerPoint construction best practices.


Your New Mantra: Theme>Master>Layouts>Slides

This is the order in which you should approach PowerPoint construction. The best practice is Theme>Master>Layouts>Slides. First, create a Theme. Then apply that to a Master Slide, then format the Slide Layouts. Then last of all, make the Slides. The best presentations follow this order. The worst decks are created by trying to reverse the order. A surprising number of people start with the Slides, then try and fix the Layouts on which they’re based. Finally they end up at the Master and never quite discover the Theme. These are the problem decks that I get called on to repair, since they just don’t work anymore.


PowerPoint Construction Best Practices: The Theme

The basic design building block of all Office programs is the Theme. Themes nominally have 3 components: the Font theme, the Color theme and the Effects theme. However Effect themes are not editable in the program interface. All a designer can do is choose one of the presets, and the presets available change with each version of Office. Since effects are only used with tacky effects like 3D lozenges and shadows, most designers will simply ignore the Effects theme. If I’m able, I’ll apply the Office 2010 Couture effect theme, which has minimal gimmicks.

That leaves the Font and Color Themes. Color themes in Mac versions of Office are editable in PowerPoint. To create custom Font themes, Mac users must build them manually in a Text Editor. No need to get nervous about coding, they’re very simple files that you can create in TextEdit. I covered the technique in this article: XML Hacking: Font Themes. To create a Color theme that will work the best for your client, please read Office Charts: 6 Colors Maximum! This article is important because the order of colors in a theme determines the automatic color order of charts.

You don’t have to use a custom theme, but you also can’t have a theme-free file. If you don’t customize, your template will use the default Office theme. Then users will start to use the theme fonts and colors, because they’re obvious in the interface. And then your client’s presentations will be off-brand. Is that what you want? I didn’t think so…

A clear advantage of using a theme is that applying a new custom theme instantly updates the appearance of legacy documents. This feature alone takes most of the pain out of brand updates, but the underlying templates must have been built with theme application in mind.

I have Themes in my Theme!?

As usual for Microsoft, they use the same word in two different senses, just to make sure you get confused. In PowerPoint, a Theme and a Template can both contain an entire presentation in addition to the Color, Font and Effects Theme parts. By contrast, if you save a Theme from Word or Excel for Windows, the Theme file contains only the Color, Font and Effects parts, but no content or pages. So when you’re talking Themes with an expert, you need to make it clear whether you’re talking about a Font or Color Theme subfile, a Word or Excel style Theme that combines the Colors, Fonts and Effects, or a PowerPoint theme that includes all of the above plus Masters and Layouts.


PowerPoint Construction Best Practices: The Master

In PowerPoint, when you choose View>Slide Master, you’ll see a list of thumbnails at the side of your screen. The larger thumbnail at the top is the Slide Master (outlined in red):

The slide master never appears in a presentation. For this reason, some designers falsely conclude it is unnecessary and make a mess of it by ignoring it, deleting all placeholders, or otherwise mistreating it. The clients of these designers live in PowerPoint hell, with layouts and slides that just don’t work the way they should. It’s a shame that a designer who doesn’t know what they’re doing can’t spend a few dollars to bring in a professional to assist them.

A critical function in PowerPoint templates and themes is Inheritance. Inheritance is what we use when we create a typestyle, then apply that style to text. The text is said to inherit the characteristics of the style. The style is the parent and the text is the child.

The Slide Master inherits the fonts and colors of the Theme. Then the Slide Layouts inherit their formatting from the Slide Master, and finally the Slide inherit their formatting from the Layouts. The Slide Master is a crucial link in the chain. Ignoring it or formatting it incorrectly will cause inheritance problems in the rest of the presentation.

The correct way to format the Slide Master is to include as much formatting as possible that can carry over to the Layouts. Leave all placeholders in place, do not delete any. Perhaps you don’t think users will need a date or footer field, but deleting them will create problems for the users that actually do need them. You will also create problems in the future, when today’s decks become tomorrow’s legacy presentations that need to be updated with a new theme.

Analyze the design sample slides for where bulleting is needed and where it isn’t. A default Microsoft design uses bullets for every text level, but your template will be more useful if it includes a mix of bulleted and non-bulleted levels. The bullet scheme you apply on the Slide Master is automatically inherited by all the slide layouts.

On most presentations, there is a company logo that appears on most or all slides. Include that logo on the Slide Master (Of course, that logo is an indexed-color PNG right? You’re not still using JPEGs for logos, are you?). Important: Don’t touch a Slide Layout until the Slide Master is complete!


PowerPoint Construction – The Layouts

When the Slide Master is complete, then and only then, move on to the Slide Layouts. Why? Because editing the Layouts breaks the inheritance from the Master of the edited feature. As one example, if you create a unique bullet setup on a Layout, then go to the Master and create the same setup, the edited Layout will remain out of sync. Subsequent changes to the bullets on the master will never show on the Layout, because you broke the inheritance. Any changes to the Slide Master also have be duplicated on the Layout. Even though the bullets are identical, you created twice as much work by editing the Layout before the Master.

I’ve seen some designers who delete everything on the Master so they can create Layouts that differ from each other. This, too, is a mistake. The Slide Master should be formatted to look like a typical or common slide in the presentation. Then, for any layout that has different graphics or background color, right-click on the Layout, choose Format Background and turn off the background graphics with the Hide background graphics option. This leaves the placeholders in place and they still get their formatting from the Master. Then create a different color background and/or include different graphics. Presto, a different appearance, while maintaining inheritance from the Master.

I really don’t like the Layout titles that Microsoft has assigned. First, there is the Title slide, then you have Title and Content. Except the word Title refers to 2 different things. The first layout is for the title of the presentation, which could just as easily be called the Cover slide, while the second refers to the Title placeholder on the slide layout. Most of the layouts have titles, why do only some include Title in the layout name?. I’d love to fix this, but then I would create another problem:

People will make presentations with your template. Someday those decks will be “legacy content” that needs to be updated with the next template that will inevitable follow yours. When those presentations are updated, PowerPoint will find a Cover layout in the old file and a Title layout in the new one. PowerPoint doesn’t know these are intended to be the same layout. So instead of replaced Cover with Title, it keeps both. The old deck now has a new Title layout, but it doesn’t get applied to the title slide, because that is linked to the Cover layout. The user screams. Why didn’t all the slides update with the new theme? Well, it’s your fault, because you thought you were more clever than Microsoft and you changed the layout name. For more information about creating templates and themes that work with legacy slides, please see my article Legacy Slides – Best Practices

You can also create custom layouts in Slide Master view. Start by duplicating an existing Layout or creating a new one. Then choose the Insert Placeholder command to add an all-purpose Content placeholder, or one of several types of content-specific placeholders. You can add many placeholders to a layout, it’s a very flexible system. However, there is a potential problem if you do this to try to replace deleted default layouts.

The default layout name alone is not enough. We’ve worked on templates where the designer deleted all the default layouts, then inserted new layouts using the default names. Unfortunately, PowerPoint sees all created layouts as the custom layout type. You can call it Title Slide, but it does not have the Title Slide layout type, it has the Custom layout type. So when a user pastes in a legacy title slide, it will not map correctly to the layout called Title Slide. Instead, it will bring in its old slide layout, inheriting what it can from the Slide Master. The resulting slide usually looks close to the design intent, but not exactly, and your presentation now has an extra layout called 1_Title Slide, which will confuse users.

The best practice for widest compatibility is to leave all default layouts in place with their original names. The vast majority of decks out there have been created with Microsoft templates supplied with Office. Keeping the default layouts ensures perfect copy and paste operations from such presentations. For more information about creating Microsoft-compatible templates and themes, please refer to my post Microsoft-Compatible PowerPoint Templates – Best Practices. The only 2 layouts we commonly delete are Title and Vertical Text and Vertical Title and Text. These are intended for use with Asian languages, so we leave them in for world-wide companies that might need Far Eastern text but delete them for smaller and local clients. Just remember: if you keep the layout, keep the name. New titles for new layouts only!

The layout type is not visible anywhere in the user interface. We find the layout type by running a tiny macro that displays the layout type for each slide:

Sub GetLayoutTypes()
  Dim SlideObj As Slide
  For Each SlideObj In ActivePresentation.Slides
  MsgBox SlideObj.Layout
  Next SlideObj
End Sub

The output is the numeric slide type, which you can look up on this Microsoft page: PpSlideLayout Enumeration (PowerPoint)


PowerPoint Construction – Custom Slide Layouts

A question that comes up frequently is whether to use Picture or Content placeholders for a photo slide layout. These 2 types of placeholders act differently, so the choice depends on what kind of action is most suitable. When you insert a picture into a content placeholder, the placeholder fits itself to the photo proportions. If the photo has a small physical size, the Content placeholder shrinks to fit the photo. The photo’s aspect ratio is always preserved.

By contrast, a Picture placeholder stays the same size. Placed photos are enlarged or reduced to fit the placeholder, and are automatically cropped to make the photo fit the aspect ratio of the placeholder. Knowing this, we can state that where a particular layout is locked down, you should use a Picture placeholder. An example might be a photo page where there is an exact 1/4″ gap between photos on all 4 sides. A Picture placeholder will maintain this layout:

Picture placeholders are better for rigid or exact layouts.

If the slide contains a single picture and the entire picture must show in its original proportions, a Content placeholder is more suitable:

A flexible layout when the entire photo must show is better with a Content placeholder.

Placeholder Content Rotation and How to Avoid It

I’ve repaired lots of presentation that show these symptoms: in a series of placeholders on a custom layout, you’ll enter text or content. You switch to a different layout, then switch back, but now the content is in different placeholders than you used originally. What’s happening? Sometimes, there was a lazy designer who, while editing a layout, copied and pasted formatted placeholders rather than using Slide Master>Insert Placeholder. While they were saving themselves a few minutes, they were sentencing their users to much more time rearranging slides after switching layouts.

The reason is that PowerPoint keeps track of each placeholder by its ID number in the XML. Most of the time, when you copy and paste placeholders on a layout, PowerPoint assigns a new ID number. But occasionally, it fails and the shapes have duplicate ID numbers. The result is a slide with placeholders that PowerPoint can’t tell apart. When it has to assign a piece of content to the duplicated placeholders, the result is random placement of the graphic or text.

To be fair, you can also get a similar effect when switching between layouts that have different numbers of placeholders. If the first layout has 10 placeholders and the second has only 2, PowerPoint will place the first 2 items in the right place. The remaining 8 items will still be in placeholders, but since there is no layout information, they’re plunked wherever PowerPoint wants to put them. When you reapply the original layout, all placeholders will pop back into place, with each kind of placeholder going where that type is on the layout. Unfortunately, during this process, PowerPoint re-writes the ID numbers and some pieces end up in a different order. The effect is less chaotic than lazy designer syndrome.

You can minimize this problem when designing the template or theme. Create each placeholder on each custom layout in the order in which they are to be filled. For feft-to-right languages, this will usually be from the upper left corner to the bottom right, either in rows from top to bottom, or columns from left to right. Assuming that the source slide and destination slide have layouts that follow this, the content will be placed in order from top left to bottom right.


PowerPoint Construction – The Slides

Now you’re finally ready to make slides, or hand the template off to your users so they can get creative. And this is the place where a well-constructed template or theme can either save your users time, while a sloppy one will keep them working ’til midnight. Do it right and the slides will be easy to produce, and they’ll work the way they’re supposed to. Just follow your mantra: Theme>Master>Layouts>Slides and all else will be bliss!

Brandwares employees collectively have decades of PowerPoint construction knowledge, and we’re for hire! Contact me at production@brandwares.com with details of your project.

Multiple Color Themes, One Template – Best Practices

Multiple color themes in the same PowerPoint template are useful for companies with several divisions or for presenters who need color-coded sections. Here are 3 ways to add that capability to your presentations.


Multiple Color Themes: Using Super Themes in PowerPoint

PowerPoint 2013 and 2016 for Windows and Mac all feature a new theme format developed by Microsoft: the Super Theme:

Super Theme Color Variants
Super Theme Color Variants

The user sees a preview of the color palette that will be used, then picks the variant they want to use. It’s an elegant, attractive interface and makes the design variants plainly visible on the Ribbon. Super Themes also allow the inclusion of size variants, so that resizing a deck doesn’t distort the logos.

Brandwares now creates custom Super Themes, so we can make these for you. However, the technique is tricky, so if you’re an independent designer without the budget for professional assistance, you’ll have to find another way. Fortunately, there are other methods to add multiple color themes.


Multiple Color Themes: Hacking XML

This technique works to add multiple color themes to PowerPoint. You can also add them to Word and Excel files, but those programs will simply ignore them. These extra color themes will travel with a theme saved from such a Word or Excel file, but you already knew that PowerPoint is the program to use for creating theme files. To hack the XML, start by reading XML Hacking: An Introduction. If you’re using a Mac, you should also read XML Hacking: Editing in OS X.

Now, expand your Office file to see the XML. Open the ppt folder, then open the theme folder inside that. PowerPoint saves every theme that’s ever been applied to the presentation, starting with theme1.xml, so you’ll have to check the theme name in each variant to get the right one. If you’re trying this with Word or Excel, look in word\theme or xl\theme respectively, where you will find only one theme1.xml file.

Format the XML to be readable, then go right to the bottom of the listing, where you’ll find the self-closing stub called <a:extraClrSchemeLst/>. First, open up the stub:

<a:extraClrSchemeLst>
</a:extraClrSchemeLst>

Then add a color scheme:

<a:extraClrSchemeLst>
  <a:extraClrScheme>
    <a:clrScheme name="Red-Tan Chart Colors">
      <a:dk1>
        <a:srgbClr val="000000"/>
      </a:dk1>
      <a:lt1>
        <a:srgbClr val="FFFFFF"/>
      </a:lt1>
      <a:dk2>
        <a:srgbClr val="082948"/>
      </a:dk2>
      <a:lt2>
        <a:srgbClr val="FAF9F9"/>
      </a:lt2>
      <a:accent1>
        <a:srgbClr val="C46158"/>
      </a:accent1>
      <a:accent2>
        <a:srgbClr val="E69779"/>
      </a:accent2>
      <a:accent3>
        <a:srgbClr val="699BC5"/>
      </a:accent3>
      <a:accent4>
        <a:srgbClr val="6E9C82"/>
      </a:accent4>
      <a:accent5>
        <a:srgbClr val="1F497D"/>
      </a:accent5>
      <a:accent6>
        <a:srgbClr val="4A8363"/>
      </a:accent6>
      <a:hlink>
        <a:srgbClr val="1F497D"/>
      </a:hlink>
      <a:folHlink>
        <a:srgbClr val="699BC5"/>
      </a:folHlink>
    </a:clrScheme>
  </a:extraClrScheme>
</a:extraClrSchemeLst>

The syntax is exactly the same as for the clrScheme listing that every theme includes as its main color theme, so you can simply copy and paste the whole block of XML. The theme file can hold any number of extra color schemes. When you are using the final file, you can change the theme colors by choosing View>Slide Master>Colors in PowerPoint (actual menu names change in different versions of Office).

Multiple Color Themes

Clicking on the Colors dropdown shows the extra color themes.

When you choose a new color theme, all elements keyed to the color theme will change throughout the presentation.


Multiple Color Themes: Multiple Masters (PowerPoint only)

For Word and Excel, a document can have only one color theme applied at a time, and that theme affects all pages in the file. PowerPoint allows more flexibility, since it can have multiple master slides and each of those master slides has its own color theme. This means that different parts of a PowerPoint file can have different color themes. This is often used to color-code different sections of a presentation.

In its most basic form, this is the simplest technique. No XML hacking required:

  1. In PowerPoint, choose View>Slide Master to view the masters.
  2. Right-click on the Slide Master (the larger slide at the top of the left-hand display) and choose Duplicate Slide Master. The new master is added below the slide layouts for the first master. (In Windows versions, right-click and check that each Master has the Preserve Master attribute checked, or they’ll vanish later.)
  3. Select the new master, then choose Color>Customize Colors.
  4. Revise the color theme, or apply a color theme you created earlier. OK out.

Repeat the steps above for each different color theme you need to include. In the program interface, the user will see a group of slide layouts for each slide master. Here is a presentation where only one colors changes in each color theme:

Each master has its own color theme and slide layouts.
Multiple Master Color Themes

While this is the simplest method to use, it’s not self-evident to all users that you change color themes by choosing a different set of slide layouts. So you’ll probably have to include at least an explanatory note with the template when you distribute it. But what if you want a premium solution for a high-end client? Read on…


Multiple Color Themes: XML Hacked Multiple Masters (PowerPoint only)

A solution that is simpler to use is to combine techniques 2 and 3. Create multiple masters, each with a different color theme. This will create a theme#.xml file in ppt/theme. Open all the theme#.xml file and copy the clrScheme for each to an extraClrScheme tag in all the others. So if you have 3 masters and color themes, copy the clrScheme tag for theme1.xml to an extraClrScheme tag in theme2.xml and theme3.xml. Then copy the clrScheme from theme2.xml to extraClrScheme tags in theme1.xml and theme3.xml.

The result is that it doesn’t matter so much which master you choose, you can change the color theme later. Of course, changing the color theme affects all slides based on the same master. This is an easy-to-use method for providing presentation with sections in different colors.

My thanks to Timothy Rylatt for his assistance with fact checking and corrections in this article.

Brandwares employees are world experts in PowerPoint template and theme creation. Send me a line at production@brandwares.com for assistance with your project.

OOXML Hacking: Locking Graphics

Locking graphics in Office documents must be #1 on most designers’ wish lists, judging by the number of requests we get. While Word and Excel already do a fairly good job of locking, they can still benefit from this technique. PowerPoint remains wide open. If you can see it, you can move, resize or delete it. Placing items on the Slide Master or Layouts helps, but this is minimal protection against a savvy user. Your users love to be “creative”, so how can we protect the brand from their enthusiasm?

Fortunately, it’s possible to provide protection for important logos and maintain slide layout integrity by editing the template XML. But this power comes with a responsibility to design the protection carefully. It can be a very thin line between a deck that is protected and one that is unusable. If you decide to protect your presentation, it is incumbent on you to test it repeatedly to ensure your users can still get work done with it.

Before trying this, please read my Introduction to XML Hacking. If you’re using OS X, it’s also important to read my notes about Editing XML in OS X.

Locking takes place mostly in the Slide Master and Layouts. A minimal approach is best, as each additional locked item will create more feedback from your users with the potential to increase tech support costs. On the Slide Master, you will probably only lock a company logo.


Locking Graphics: Logos

Start by placing a logo on the Slide Master. Of course, you’re not using a JPEG file, because you already know that’s the worst format for line art. If you still think JPEGs for logos are a good idea, please read JPEG Logos? Fail! and Logo Production Secrets. After the logo is in place, expand the presentation to view the XML. Open ppt\slideMasters\slideMaster1.xml. All the placeholder coding comes first, so scroll down about halfway until you see XML that looks like this:

<p:pic>
  <p:nvPicPr>
    <p:cNvPr id="7" name="Picture 6"/>
    <p:cNvPicPr>
      <a:picLocks noChangeAspect="1"/>
    </p:cNvPicPr>
    <p:nvPr userDrawn="1"/>
  </p:nvPicPr>

To lock this, we can add just one small parameter (in bold):

<p:pic>
  <p:nvPicPr>
    <p:cNvPr id="7" name="Picture 6"/>
    <p:cNvPicPr>
      <a:picLocks noChangeAspect="1" noSelect="1"/>
    </p:cNvPicPr>
    <p:nvPr userDrawn="1"/>
  </p:nvPicPr>

Test this out by re-zipping the files and opening in PowerPoint. Try to select the logo. noSelect=”1″ has the effect of making it unselectable, so the user can’t do anything creative with it, even if they open the master.

This is a super-simple technique, but it has a potential down side. Many add-ins and VBA macros work on a presentation by going through every shape on a slide until it finds the one it needs to revise. The noSelect tag can play havoc with code like that and possibly cause the programming to fail for no apparent reason. So here’s a more professional lock that has the same effect, but won’t disrupt any add-ins:

<p:pic>
  <p:nvPicPr>
    <p:cNvPr id="7" name="Picture 6"/>
    <p:cNvPicPr>
      <a:picLocks noChangeAspect="1" noMove="1" noResize="1" noRot="1"/>
    </p:cNvPicPr>
    <p:nvPr userDrawn="1"/>
  </p:nvPicPr>

Locking Graphics: Shapes

Different graphic objects use a slightly different syntax. The noSelect=”1″ parameter remains the same, but you have to expand a tag and add a new line to include it. For all AutoShapes except lines, the default XML will resemble the following:

<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="9" name="Rectangle 8"/>
    <p:cNvSpPr/>
    <p:nvPr userDrawn="1"/>
  </nvSpPr>

Editing the p:cNvSpPr tag as shown below will make the shape unselectable:

<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="9" name="Rectangle 8"/>
    <p:cNvSpPr>
      <a:spLocks noMove="1" noResize="1" noRot="1"/>
    </p:cNvSpPr>
    <p:nvPr userDrawn="1"/>
  </nvSpPr>

Locking Graphics: Lines

At the XML level, lines are referred to as Connectors rather than Shapes. The original XML will look like this:

<p:cxnSp>
  <p:nvCxnSpPr>
    <p:cNvPr id="8" name="Straight Connector 7"/>
    <p:cNvCxnSpPr/>
    <p:nvPr userDrawn="1"/>
  </nvCxnSpPr>

To lock this, edit the p:cNvCxnSpPr tag:

<p:cxnSp>
  <p:nvCxnSpPr>
    <p:cNvPr id="8" name="Straight Connector 7"/>
    <p:cNvCxnSpPr>
      <a:cxnSpLocks noMove="1" noResize="1" noRot="1"/>
    </p:cNvCxnSpPr>
    <p:nvPr userDrawn="1"/>
  </nvCxnSpPr>

Locking Graphics: Placeholders

Placeholders are the boxes on slide layouts that can hold different types of content. The layouts are found in ppt\slideLayouts. They are numbered in the order that they appear in the left-hand list of layouts in Slide Master view. By default slideLayout1.xml is the Title slide. The XML tag is <p:sp> instead of <p:pic>, but otherwise the syntax is the same for locking. Placeholders do not inherit the lock parameters, so locking a placeholder on the master doesn’t affect the layouts and locked placeholders on the layouts have no effect on the slide placeholders.

You can see what other parameters are possible for the spLocks tag at Datypic’s a:spLocks page. There are options here to prevent grouping the image, rotating, moving or resizing it, changing it’s aspect ratio and several other less useful options. Let’s use some of the other parameters to lock down the shape. Here is the start of a Title placeholder:

<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="2" name="Title 1"/>
      <p:cNvSpPr>
    <a:spLocks noGrp="1"/>
  </p:cNvSpPr>

After we add parameters to prevent moving and resizing, the XML looks like this:

<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="2" name="Title 1"/>
      <p:cNvSpPr>
    <a:spLocks noGrp="1" noMove="1" noResize="1"/>
  </p:cNvSpPr>

Don’t expect that slides based on this will still have unmoveable placeholders. The lock parameters are not included when a slide is created from a layout. This locking ensures only that the layout remains the same, so when a slide is reset, it will always return to the correct format.

If the placeholders must remain in place on the slides, then you must first create the slide, then edit the XML before distributing the deck. For this, look in ppt/slides. The files are numbered in the order they appear in the presentation, so slide1.xml is usually the title. Here is the XML for a locked title placeholder:

<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="2" name="Title 1"/>
      <p:cNvSpPr>
    <a:spLocks noGrp="1" noMove="1" noResize="1" noRot="1"/>
  </p:cNvSpPr>

When the user clicks on this, all the adjustment handles have a diagonal through them and the user is unable to change the shape size or position:

Locked Title Placeholder


Locking Graphics: Other Objects

By default, the picture and placeholders already include a p:locks or sp:locks tag, which is where we add the locking information. But what if you insert a text box on a layout for a legal disclaimer and want to make it ineditable? The text box XML initially looks like this:

<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="7" name="TextBox 6"/>
    <p:cNvSpPr txBox="1"/>
    <p:nvPr userDrawn="1"/>
  </p:nvSpPr>

To lock this, we need to expand the <p:cNvSpPr txBox=”1″/> tag. In case it’s not obvious, to expand a closed tag, you must first delete the slash at the end that closes it. Then you create a new closing tag and put the <a:spLocks&gt> information between the two. The noTextEdit parameter should mean the text can’t be edited, and to a limited extent it does that. A single click on text box text does not put it in edit mode, as would normally happen. But if you double-click, you can still edit the text. So this parameter on its own is not enough to do the job, it will only provide a little discouragement.

<p:sp>
  <p:nvSpPr>
    <p:cNvPr id="7" name="TextBox 6"/>
    <p:cNvSpPr txBox="1">
      <a:spLocks noTextEdit="1"/>
    </p:cNvSpPr>
    <p:nvPr userDrawn="1"/>
  </p:nvSpPr>

Handy Trick: Grouping Tables with Other Shapes

Normally, you can’t group a table with other shapes in PowerPoint. That’s because tables include this markup by default:

<p:cNvGraphicFramePr>
  <a:graphicFrameLocks noGrp="1"/>
</p:cNvGraphicFramePr>

Change the 1 to a 0. Re-open the file in PowerPoint and group the table with other shapes. Easy!


Unlocking Graphics: Design Ideas

PowerPoint users who can’t afford a graphic designer love the Design Ideas feature in PowerPoint. As I write this, this feature is only available in Microsoft 365, the subscription version of Office. Microsoft uses AI technology to present the user with designs that Microsoft thinks are relevant to your content. Any company with branding guidelines should turn this feature off for their users.

Many Design Ideas have shapes that are locked in the XML. When Microsoft locks a shape, they throw the kitchen sink at it:

<a:spLocks noGrp="1" noRot="1" noChangeAspect="1" noMove="1" noResize="1" noEditPoints="1" noAdjustHandles="1" noChangeArrowheads="1" noChangeShapeType="1" noTextEdit="1"/>

Some of those locks don’t even make sense for most shapes, like noChangeArrowheads. The only lock they don’t apply is noSelect, avoiding the macro problem I mentioned earlier. To turn the lock shape into something you can copy, paste and revise, just delete all the attributes:

<a:spLocks />

Locking Graphics in Word and Excel

The principles are very similar to locking in PowerPoint. This can give you locked graphics and/or ineditable text boxes in both those programs without have to apply any document protection.

In Word, picture locks must be applied to the graphic frame that holds the picture, not the picture itself. This works:

<wp:cNvGraphicFramePr>
  <<a:graphicFrameLocks xmlns:a="http://schemas.
openxmlformats.org/drawingml/2006/main" noSelect="1" />
</wp:cNvGraphicFramePr>

This does not:

<pic:cNvPicPr>
  <<a:picLocks noSelect="1" />
</pic:cNvPicPr>

To lock a text box in Excel, expand:

<xdr:cNvSpPr txBox="1"/>

To:

<xdr:cNvSpPr txBox="1">
  <a:spLocks noSelect="1"/>
</xdr:cNvSpPr>

You can make the text in the box ineditable while still allowing it to be selected and moved:

<xdr:cNvSpPr txBox="1">
  <a:spLocks noTextEdit="1"/>
</xdr:cNvSpPr>

Locking Graphics: Gotchas and Exceptions

After a few months of practical testing, some real-life limitations on shape locking have become evident. Adding the noChangeAspect=”1″ has the same effect as checking the Lock aspect ratio option on the Size pane of the Format Shape dialog. But just as when you check this option manually, clicking on the shape and dragging the adjust handles will still distort the shape. On top of this, I found this page on MSDN: 2.1.1255 Part 4 Section 5.1.2.1.34, spLocks (Shape Locks). The pages states that “Office ignores attributes noChangeArrowheads and noRot when applied to a shape. PowerPoint additionally ignores the attribute noAdjustHandles when applied to a shape and noChangeShapeType when the converting the shape to a freeform.” So a user can circumvent noChangeAspect by dragging on the handles and you can’t prevent the handles from displaying either. Office simply doesn’t implement Microsoft’s own spec completely. There’s nothing you can do about this. It should be noted, that the accuracy of Microsoft’s information is not the best. Their statement that Office ignores noRot=”1″ when applied to a shape is not true, you can successfully prevent rotation with this parameter. You really have to test everything to really know what works and what doesn’t.


Locking Graphics: The Designer’s Responsibility

Powerful? Yes. But with power comes responsibility. Company presentation templates need to be revised, but after you lock items in XML, those shapes can no longer be revised through the program interface. So it’s essential that if you use these techniques, that you document your changes when you send the file to your users. Using these methods secretly to get repeat business from captive clients is dishonest and is definitely not a best practice.

Brandwares knows every detail about shape locking and we can do all this for you. Email me with the details of your requirements at production@brandwares.com.

OOXML Hacking: Font Themes

Font themes are one of the simpler theme elements in Open Office XML, but for some baffling reason, Mac Office users can’t create one. It’s odd enough that the only Mac program that can create a color theme is PowerPoint, but even it can’t provide an escape from Calibri and Arial! So I’m going to show you how to do it on your own.

Let’s start with a dead-simple font theme. Here’s the minimal file that Office will read:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a:fontScheme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Test">
  <a:majorFont>
    <a:latin typeface="Arial"/>
    <a:ea typeface=""/>
    <a:cs typeface=""/>
  </a:majorFont>
  <a:minorFont>
    <a:latin typeface="Arial"/>
    <a:ea typeface=""/>
    <a:cs typeface=""/>
  </a:minorFont>
</a:fontScheme>

Important Note: If you copy and paste this sample, you must change the non-breaking space characters to ordinary spaces. I need to use non-breaking spaces to format an HTML page, but Office will refuse to display your font theme if you don’t search and replace them with regular spaces.

You can create this in any text editor, including TextEdit in plain text mode (don’t try this with an rtf file). However, by default TextEdit will change the necessary straight quotes to smart quotes, producing a file that Office will not recognize. If you’re using TextEdit, make sure you visit both TextEdit>Preferences and Edit>Substitutions and turn off Smart Quotes in both locations. A better alternative is the free version of BBEdit. When you visit this link, click on the Download link to get the free version. If you do any significant amount of XML editing, the paid version of BBEdit is well worth the $50 price tag.

The most common font theme problem is using smart quotes (Hex 201C + 201D, Decimal 8220 + 8221) other than plain straight quotes (Hex 22, Decimal 34). But you can also ruin a font theme by using non-breaking spaces (Hex A0, Decimal 160) instead of regular spaces (Hex 20, Decimal 32). Even though a font theme is encoded in UTF-8, you should only use plain ASCII characters for the text. XML has a low tolerance for non-standard characters.

Now that you’re set up to edit, copy and paste the font theme file. The <a:latin> tag is the standard font for your theme. <a:majorFont> is for headings and <a:minorFont> for text. Fill in <a:ea> with a font that supports Chinese or Japanese (ea stands for East Asian), if you want to support those languages. The <a:cs> tag stands for complex scripts: Arabic, Thai, Hebrew and many more. For more detail on non-European language support in font themes, please see my article XML Hacking: Font Themes Complete. Or you can just leave those tags blank if you have a predictable user base that won’t require them.

A common mistake is to get too specific with the font name in font themes. The name is only the base font name as displayed in Powerpoint’s font menu. “Open Sans” will work, but “Open Sans Extrabold” will cause Word 2011 to display a blank space where the font theme should be, while Word 2016 will simply ignore the entire file.

Save the file as a text file with a .xml ending and give it the name you want to appear in the user interface. “Brandwares.xml” will appear in the Font Theme menu as Brandwares.

For Office 2016 or 2019, save this file to Users/YourUserName/Library/Group Containers/UBF8T346G9.Office/User Content/Themes/Theme Fonts. For Office 2011, save it to Users/YourUserName/Library/Application Support/Microsoft/Office/User Templates/My Themes/Theme Fonts. In current versions of OS X, the user Library is hidden by default. To open it, hold down the Alt key, while clicking on the Go menu and choosing Library.

Once it’s correctly installed, it will show in PowerPoint’s Slide Master view under the Fonts dropdown. A new Custom group will appear at the top of the list, with your font theme in it. Once you apply it and a color theme to a presentation, you can save as a theme file and distribute that to your users, it will contain the font theme you just created. Happy hacking!


Font Themes – An Alternate Method

March 2017 edit: If you have any problems creating a font theme from scratch, here’s a workaround. Open an existing font theme that come with Office and edit the font names to the ones you want to use. These files are the verbose style discussed in this article: XML Hacking: Font Themes Complete. For most uses, you only need to set the a:latin font in the a:majorfont and a:minorfont sections. Here’s where you can find the Microsoft Font Themes:

Office 2011 for Mac – Open Applications/Microsoft Office 2011/Office/Media/Office Themes/Theme Fonts and copy any of the XML files.

Office 2016 or 2019 for Mac – Open Applications, then right-click on Microsoft PowerPoint and choose Show Package Contents. Open Contents/Resources/Office Themes/Theme Colors and copy any of the XML files in there.

Here are the locations for 32-bit versions of Windows. If you’re using a 64-bit version of Windows, check the same path inside C:\Program Files (x86).

Office 2007 for Windows – Open C:\Program Files\Microsoft Office\Document Themes 12\Theme Fonts.

Office 2010 for Windows – Open C:\Program Files\Microsoft Office\Document Themes 14\Theme Fonts.

Office 2013 for Windows – Open C:\Program Files\Microsoft Office\root\Document Themes 15\Theme Fonts.

Office 2016 or 2019 for Windows – Open C:\Program Files\Microsoft Office\root\Document Themes 16\Theme Fonts.

Too complicated? We can help! Brandwares is a full service template creation service for all Office programs. Contact me at production@brandwares.com

OOXML Hacking: Table Styles Complete

Custom Table Styles are probably one of the more detailed hacks you’ll have to write. See the constructions details in my previous post. Besides the basic table format, there are 6 optional format layers you need to at least consider. In a minimal table style, you’ll need to include at least the Header Row, First Column and Banded Rows. Most users will expect to see these options. Total Rows, Last Columns and Banded Columns are less requested, you only need to include them if a design or client specifically requires them.

As mentioned in part 1, if you haven’t hacked XML before, please read XML Hacking: An Introduction. If you’re using a Mac, you should also read XML Hacking: Editing in OS X. In addition, an essential companion to this pair of articles is the post on setting Default Table Text, which is set in a different XML component..

Let’s take a look at how our work appears in the PowerPoint interface. First, we’ll insert a plain vanilla table. By default this takes on colors and fonts from the current PowerPoint theme:

Default Table Style

Next, we choose the Table Tools>Design tab, open the Table Styles gallery. Up at the top a new Custom section has appeared with our new custom table style:

Select Custom Table Style

Select the custom table style and the default table changes to match our design. This screen shot has all formatting options turned off, so effectively we are seeing the Whole Table formatting only.

All Table Style Options Off

Table Style Options: Banded Rows and Header

Using the options panel in the upper left corner, we can add some of optional formatting layers we created in XML. First, let’s turn on banded rows. If you remember, we only formatted odd-numbered rows, so the banding only changes rows 1 and 3 in our example:

Table Style Banded Rows

Next, we’ll leave banded rows on and also add the Header row. This row doesn’t count as part of the table body, so the banding moves down 1 row:

Banded Rows and Header

Table Style Options: First and Last Columns

Next, we’ll turn off banded rows, leave the Header as is and add the first column:

Table Style Header Row and First Column

Here’s the table with First and Last Columns checked:

Table Style First and Last Columns

Table Style Options: Header and Total

And finally, Header and Total Rows:

Table Style Header and Total Rows

As you can see, with some pre-planning, one table style can cover quite a few related table looks. The layer options for different features make the table useful for many different purposes and the options panel makes it fast and easy for users to try different combinations. This feature is a major advance over tables in PowerPoint 2003 and earlier, which were quite crude by comparison.Table styles a similar way in Word, PowerPoint and Excel. While Word and Excel include table style editors in their interface, PowerPoint needs to be hacked to create them. Sadly, the table style specs for the different parograms are dissferent, so it’s not possible to trasfer tables style OOXML among Word, Excel and PowerPoint.

Table Styles: What You Can’t Do

You cannot set vertical cell/row alignment or cell margins in default taxt table text or a table style. It would have been possible given the OOXML spec, but Microsoft just didn’t bother.

Of course, if the process is too complex, we’re here to help. The current price on a custom table style is US$120. Just email me production@brandwares.com