Text Effects? Don’t! – Best Practices

The Best Practice is to NOT use Text Effects in Office. Ever.

That could have been my shortest article ever, but I guess I should explain the reasons. I’m referring to the graduated fills and lines, the glows, reflections, shadows and 3-D effects you can add to text. In the past these effects have caused some problems with ordinary shapes, but with text, they’re a disaster.

Text Effects: Bad in PDFS

Clearly, it’s not enough for most users that these effects are visually hideous. That just a natural result of the low value we assign to arts education. In many years of working with competent graphic artists, I’ve never been asked to create any template that uses these effects. Designers understand the need for restraint, users don’t. And so we get the appalling appearance of most Word and PowerPoint documents.

But the functional problem with these effects is how they affect PDFs created from Word, PowerPoint and Excel. Microsoft has no clue how to export true PostScript of the fancy effects. So they adopt a simplistic approach: flatten them to graphics. Unfortunately, this means the text vanishes, leaving behind only a pretty picture. Well, not even that. All kinds of PDF functions are impaired: Text to speech is impossible, accessibility goes right out the window, reimporting the PDF to Office is brain-dead.

I tested PDFs created in 3 ways: saving to PDF in Office, printing to Acrobat and printing to the Microsoft Print to PDF print driver that comes with Windows 10. When saving to PDF, all text with applied effects was flattened. When printing to either Acrobat or Microsoft Print to PDF, Gradient Fills, Gradient Lines and 3D Effects were flattened, while Shadows, Reflections and Glows remained as live text.

The moral is clear: when the client asks for Text Effects, just say NO!

Every AutoShape – Cool Code

There are more AutoShapes in Office than appear in the user interface. Over time, Microsoft has quietly added to the collection stored in Office. Many of the more recent shapes are used in SmartArt files, while others have no current use that I can detect. But for anyone who hacks XML or codes VBA will find this week’s download or every autoshape a useful reference.

I’m preparing to start a series on custom SmartArt files. This is a deep topic: SmartArt XML is a programming language with a Frankenstein syntax. But the starting point for any language is to get the names right. SmartArt and VBA both reference the AutoShapes collection in Office, but they use different names for the same objects. Many of the same shapes are seen in the Shapes dropdown of Office programs, but those names are also different. The main source of the VBA names are from this page: MsoAutoShapeType enumeration (Office), while the XML names come from this out-of-date listing: SmartArt AutoShapes.

So, for my own sanity, I created a Word document showing an example of each shape, along with it’s name in XML, in VBA and in the user interface. This has smoothed out my workflow, and it may help you as well.

Listing of every AutoShape

For any non-interface shapes, you can insert them into a document with code analogous to this. For PowerPoint:

Sub MakeShape()
  ActivePresentation.Slides(1).Shapes.AddShape msoShapeTrapezoid, 24, 24, 144, 144
End Sub

Change the bolded word to the shape name in the VBA MsoShapeType Name column.

Some shapes have specialized VBA commands, like callouts:

Sub MakeShape()
  ActivePresentation.Slides(1).Shapes.AddCallout msoCalloutTwo, 24, 24, 144, 144
End Sub

Callouts led me to a discovery about legacy versions. msoCalloutOne gives exactly the same result as msoCalloutTwo in current versions of Office.That seemed odd, so I ran the same macro in PowerPoint 2003 (I still have it installed for its macro recorder). In that version, msoCalloutOne creates a callout with a vertical leading line that can be moved up and down, but not at an angle. Presumably, MS found that useless and deprecated it.

Download the Word document showing every autoshape here.

OOXML Hacking: Open XML Explained

We’re proud to be hosting a free e-book Open XML Explained. Finding readable explanations of how Office Open XML works isn’t easy. Outside of the very dense published ECMA standards, most of the information exists only on the web in help pages and blog posts. Back in 2007, a developer in the Netherlands, Wouter van Vugt, published a well written PDF that goes into details about the XML formats used in Word, Excel and PowerPoint. This was originally posted on the openxmldeveloper.org website run by OOXML genius Eric White.

Eric’s site closed down some years ago and much of the content disappeared. But I’ve been able to track down a copy of Wouter’s book and have his permission to give it a new home here at Brandwares. Download Open XML Explained.

The e-book covers Excel, Word and PowerPoint in depth, covering otherwise obscure topics like table formatting, bullets and charts. It’s an excellent companion to my book, covering the theory behind my practical techniques. OOXML hackers will appreciate the explanations of all the major XML parts in an Office file, while coders will find this a useful resource in learning how to programmatically create and modify documents, workbooks and presentations.

Open XML Explained

I should note that Open XML Explained was written in 2007, so while it covers all the OOXML basics, it doesn’t have any information about newer features like the Backstage or SuperThemes. Reader David Wiggins was kind enough to find the sample files that accomapied the book. The download page has a link to them as well. Enjoy!

OOXML Hacking: Buy the Book

After years of original research, you can finally buy the book! Filled with unique information not found anywhere else, online or in print, this manual shows you how to build SuperThemes 3 different ways, how to create custom Effects Themes, how to edit the Ribbon in macOS, and much more!

OOXML Hacking: buy the book

The book expands on many of the brief articles on this site, putting them in logical order and expanding the number of examples. Author John Korchok explains how Office Open XML files work, shows you where to find each XML part and how each part can be modified. With these tools, you can provide unique services to your clients or users that you can’t find at the average Office template service bureau. To give you a better idea of what it covers, here is the Table of Contents:

Table of Contents 1
Table of Contents 2
Table of Contents 3

All techniques are covered in both Windows and macOS. The book includes a link to a downloadable text file with all the hyperlinks, XML and VBA listings, so you don’t have to retype anything from the printed page. At this time, only print copies are available, ebook versions will be here in several months. To buy the book, click here.

Uniform Rounded Corners – Cool Code

A client sent a design for a Word template that had lots of boxes and photos with uniform rounded corners. Not an unreasonable request, but Office doesn’t do that well. In PowerPoint, Word and Excel, rounded corners are proportional to the size of the shape. Making them uniform manually is picky and time-consuming. But with a dash of VBA, we can make the job easy.


The Math

As a round-cornered shape gets larger, the corner radius increases as well, in proportion to the shape size. Since we want to keep the radius the same size, we need to create a formula that makes a smaller number as the height and width increase. We need an inverse number! The simplest way to create an inverse is to divide 1 by the measurements. Then, we need a number to set the radius size: a constant. The formula looks like this: (1 / (Shape.Height + Shape.Width)) * RadiusFactor. And you thought you’d never need that high school math!

Here’s VBA code that will work in Excel, Word and PowerPoint on a selection of round-cornered boxes:

Sub RoundedCorners()
  Dim oShape As Shape, RadiusFactor!
  RadiusFactor! = 50
  For Each oShape In ActiveWindow.Selection.ShapeRange
    With oShape
      If .AutoShapeType = msoShapeRoundedRectangle Then
        .Adjustments(1) = (1 / (oShape.Height + oShape.Width)) * RadiusFactor!
      End If
    End With
  Next oShape
End Sub

Uniform Rounded Corners for the Whole Document

To run this on a whole presentation, document or workbook, we need to customize the routine for each Office program. Here’s the Excel version:

Sub RoundAllXLCorners()
  Dim oWorksheet As Worksheet, oShape As Shape, RadiusFactor!
  RadiusFactor! = 50
  For Each oWorksheet In ActiveWorkbook.Worksheets
    For Each oShape In oWorksheet.Shapes
      With oShape
        If .AutoShapeType = msoShapeRoundedRectangle Then
          .Adjustments(1) = (1 / (oShape.Height + oShape.Width)) * RadiusFactor!
        End If
      End With
    Next oShape
  Next oWorksheet
End Sub

To do the same in PowerPoint

Sub RoundAllPPCorners()
  Dim oSlide As Slide, oShape As Shape, RadiusFactor!
  RadiusFactor! = 50
  For Each oSlide In ActivePresentation.Slides
    For Each oShape In oSlide.Shapes
      With oShape
        If .AutoShapeType = msoShapeRoundedRectangle Then
          .Adjustments(1) = (1 / (oShape.Height + oShape.Width)) * RadiusFactor!
        End If
      End With
    Next oShape
  Next oSlide
End Sub

And finally, for Word

Sub RoundAllWDCorners()
  Dim oShape As Shape, RadiusFactor!
  RadiusFactor! = 50
  For Each oShape In ActiveDocument.Shapes
    With oShape
      If .AutoShapeType = msoShapeRoundedRectangle Then
        .Adjustments(1) = (1 / (oShape.Height + oShape.Width)) * RadiusFactor!
      End If
    End With
  Next oShape
End Sub
Before: Rounded Corners, but not Uniform
Rounded Corners, but not Uniform

The Word version is a little simpler because a Word document is one big object, while Excel and PowerPoint both have multiple objects for each worksheet and slide, respectively. But the similarites point out that when you’re searching online for VBA code, finding something for a different program and modifying it can be a huge time-saver. By far, Excel has way more code written for it, so Excel VBA sites can be a fruitful source for Word and PowerPoint code ideas.

After: Uniform Rounded Corners
Uniform Rounded Corners

These macros have been tested under both Windows and macOS and work well under both.

To use these macros with other shapes, please see my article Every AutoShape – Cool Code for a downloadable reference file showing all AutoShapes along with their XML and VBA names. Then replace msoShapeRoundedRectangle with the mso shape name you need.

Shared Workgroup Templates – Best Practices

Groups of workers usually use the same templates. But it can be time-consuming to keep everyone updated when templates are installed separately on each desktop. Instead, you can implement shared workgroup templates with a feature already built into Office.


Shared Workgroup Templates – Multiple Uses

Every desktop version of Office, Mac and Windows, includes a Workgroup templates option that allows you to set a network share as a templates folder. Templates on this share are instantly available to all users, making updates and revisions a breeze. Automatically, everyone in the office is using the same version. As long as template names remain identical, then old Word documents automatically attach themselves to the new template.

The Workgroup templates network share can serve more that just templates. With some additional subfolders, it can be a source for Document Themes, including custom SuperThemes, it can hold collection of Font and Color themes. These additional files don’t show in the File>New dialog. Theme files display under the Themes dropdown, theme colors under the Colors dropdown and theme fonts under the Fonts dropdown.


Shared Workgroup Templates – Setup

To set up shared workgroup templates, first create the network location and ensure it’s accessible to all in the office without a signin. Each computer should connect to the share automatically on restart, so users don’t have to remember to manually connect before creating a new document. Create subfolders with the following names for othe file types you want to support. Document Themes for themes, with subfolders for Theme Colors and Theme Fonts. All versions of Office expect exactly the same file structure.

If the office uses Group Policies to install and configure software, you can use that feature to add the Workgroup Template location to each user installation. If you’re using “sneakernet” for configuration, here’s how to do it manually. All Office suites use a setting in Word to set the location for all the other programs

Office 2010, 2013, 2016 and 2019 for Windows

  1. In Word, choose File>Options>Advanced.
  2. Scroll down to the General section of Advanced and click on the File Locations… button.
  3. Select the Workgroup templates line, then click on the Modify button.
  4. In the dialog that opens, enter the path to the network share in the Folder name field, or use the window controls to navigate to the folder. Select the folder and click on OK. OK all the way out and close Word

Office 2007 for Windows

  1. In Word, click on the Office button, then on Word Options, then on Advanced..
  2. Scroll down to the General section of Advanced and click on the File Locations… button.
  3. Select the Workgroup templates line, then click on the Modify button.
  4. In the dialog that opens, enter the path to the network share in the Folder name field, or use the window controls to navigate to the folder. Select the folder and click on OK. OK all the way out and close Word.

Office 2003 and earlier for Windows

  1. In Word, choose Tools>Options and click on the File Locations tab.
  2. Select the Workgroup templates line, then click on the Modify button.
  3. In the dialog that opens, enter the path to the network share in the Folder name field, or use the window controls to navigate to the folder. Select the folder and click on OK. OK all the way out and close Word.

Office 2016 and 2019 for Mac

  1. In Word, choose Word>Preferences>File Locations.
  2. Select the Workgroup templates line, then click on the Modify button.
  3. In the dialog that opens, use the window controls to navigate to the folder. Select the folder and click on Open. OK out and close Word

Office 2011 and earlier for Mac

  1. In Word, choose Word>Preferences>File Locations.
  2. Select the Workgroup templates line, then click on the Modify button.
  3. In the dialog that opens, use the window controls to navigate to the folder. Select the folder and click on Choose. OK out and close Word

Shared Workgroup Templates in Use

Here’s how to access Workgroup templates in Office programs

Office 2016 and 2019 for Windows

  1. Choose File>New.
  2. Click on Custom.
  3. Click on Workgroup Templates, select a template, then click on Create.

Office 2013 for Windows

  1. Choose FILE>New.
  2. Click on SHARED.
  3. Click on a template.

Office 2010 for Windows

  1. Choose File>New>My Templates.
  2. On the Personal Templates tab, select a template, then click on OK. This tab also shows local templates on the user’s computer.

Office 2007 for Windows

  1. Click on the Office button, then on New.
  2. Click on My templates…
  3. Select the My Templates tab. Workgroup templates are displayed along with local templates in the same pane.

Office 2003 and earlier for Windows

  1. Click on File>New. The New Document pane opens at the side of the window.
  2. On the New Document pane, click on On my computer…
  3. Select a template from the General pane and click on OK. This pane shows a mix of local and workgroup templates.

Office 2016 and 2019 for Mac

  1. Choose File>New from Template…. The Document Gallery opens
  2. In the upper left corner, click on the Work link. This link only appears when you have a Workgroup Templates location set in Preferences.
  3. Select a template, then click on Create.

Office 2011 for Mac

  1. Choose File>New from Template. The Document Gallery opens.
  2. Click on Workgroup Templates in the left-hand TEMPLATES list..
  3. Select a template and click on Choose.

Office 2008 for Mac

  1. Choose File>Project Gallery. The Project Gallery opens.
  2. Click on My Templates in the left-hand Category list..
  3. Select a template and click on Open. This window will show a mix of Workgroup and local templates.

Shared Workgroup Templates – Shortcomings

In addition to templates and themes, a local templates folder also serves custom Chart and SmartArt templates. Neither of these formats is supported by Workgroup Templates, so those templates must still be installed locally on each user’s computer.

OOXML Hacking: Fix Broken PowerPoint Links

Please note: Microsoft has modified the nature of OLE links. It’s no longer possible to maintain relative OLE links (linked Excel and Word) in current versions of Office. The directions below will allow you to re-establish a broken link, but when you update the linked file, PowerPoint will write an abolute path. If you’re relinking other object types, like images, audio or video, this article will allow you to create permanent relative, semi-relative and absolute paths.

Someone sends you a presentation linked to an Excel file. The links don’t work and you can’t fix them without redoing them. Here’s how to fix broken PowerPoint links with a one minute of XML Hacking.

This article is really just for PowerPoint for Mac users. If you have the Windows version, you can fix broken links by choosing File>Info, then clicking on Edit Links to Files in the right-hand column under Related Documents. (Please note, the Edit Links option only appears if you actually have a link in the open presentation.) Word and Excel for Mac already have utilities to fix links.

If you haven’t hacked XML before, please read XML Hacking: An Introduction and XML Hacking: Editing in macOS. This article mentions Excel, which I’ve used as an example, but the same advice is true for Word files linked to PowerPoint. OLE Links to other formats, like PDF, are simply not supported on macOS.

In Office, links to documents include the complete path. Of course, when you move those linked files to a new computer, the path is always different, so the links must be corrected. The symptoms of a broken link depends on the type of link that was created. If the file creator selected a workbook section or chart, then used Paste Special to paste in a link, you’ll see this message when you double-click on the Excel excerpt:

Fix Broken PowerPoint Links - Paste Special

But the creator may have used Insert>Object instead, and chosen to link rather than embed the file. Then you’ll see this when you try to edit:

Fix Broken PowerPoint Links - Inserted Object

Then after dismissing that dialog, you’ll see the first one about the server error.


Fix Broken PowerPoint Links – The Steps

The issue is that a path is embedded in the PowerPoint file, and that path must be edited. Open the file in BBEdit.

The XML we need to change is associated with the slide(s) on which the Excel item is placed. So lets look. In the left-hand window, click on ppt. Then select slides then the _rels folder. Rels is short for relationships, and it’s the mechanism in every OOXML folder that tells PowerPoint where to find the objects in use.

The _rels folder has a .rels file for each slide in the presentation. Open the file for the slide containing the linked Excel. If the link was inserted using Paste Special, it will look like this (Pay attention to the third line and scroll all the way to the right. The path to be edited is in bold):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
  <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject" Target="file:///\\192.168.1.250\Dockets\Test\Excel\Link2PowerPoint.xlsx!Sheet1!R1C1:R1C4" TargetMode="External"/>
  <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" Target="../slideLayouts/slideLayout7.xml"/>
  <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing" Target="../drawings/vmlDrawing1.vml"/>
  <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image1.emf"/>
</Relationships>

If the Excel file has been inserted as an linked object, it won’t include a range of cells, just the workbook name:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
  <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject" Target="file:///\\192.168.1.250\Dockets\Test\Excel\Link2PowerPoint.xlsx" TargetMode="External"/>
  <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" Target="../slideLayouts/slideLayout7.xml"/>
  <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing" Target="../drawings/vmlDrawing2.vml"/>
  <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image2.emf"/>
</Relationships>

Since the Excel item was inserted on a Windows computer, the path uses backslashes instead of forward slashes. There are two path syntaxes that are acceptable. If both the file linked to and the presentation containing the link are in your User folder, you can use a relative path and the linked file will open up immediately. If the file linked to is on a network share or somewhere on your disk outside your user folder, you will have to use an absolute path and you will get a challenge from Office when you open the link.

Let’s do the relative path first. In this example, the Excel file is in my user Documents folder and the PowerPoint is in my user Downloads folder. So I edit:

Target="file:///\\192.168.1.250\Dockets\Test\Excel\Link2PowerPoint.xlsx"

to:

Target="file:///../Documents/Test/Excel/Link2PowerPoint.xlsx"

In Unix/DOS speak, the 2 dots mean “go up one level”, out of the Downloads folder where the presentation is into the main user folder. Then the slashes lead you down into the Documents folder and subfolders to the Excel location. Once you set a relative path, you must leave the PowerPoint file in the same folder. Moving it will break the path.


Fix Broken PowerPoint Links – The Best Relative Path

For a linked file that you know will be moved from desktop to desktop, the best strategy is to place both files in the same folder. Then use this path:

Target="file:///Link2PowerPoint.xlsx"

Now even if you move it back to Windows, the linked Excel file will open as expected. As I noted above, when you open or update the linked Excel (or Word) file, PowerPoint will replace your relative path with an absolute one. This only happens with OLE links. For picture, audio, video and other file types, the relative link will remain unless you manually update.


Fix Broken PowerPoint Links – Absolute Paths

If the file to be linked to is on another disk, use an absolute path. With an absolute path, you can move the PowerPoint file anywhere on your computer or to other machines and it will still be able to find the linked file. Here’s what an absolute path looks like:

Target="file:///Volumes/TheNameOfYourHardDisk/Users/YourUserName/Documents/Test/Excel/Link2PowerPoint.xlsx"

Important! A macOS absolute path must begin with Volumes, followed by a slash and the name of the disk. If your network is set up for different operating systems, you’ll probably use an IP address instead, as shown in the original file path. Consult with your IT department.

Office 2016 for Mac applications are sandboxed applications, so when you first open an Office file linked with an absolute path, you’ll see a warning:


Fix Broken PowerPoint Links - Absolute Path Warning 1

Click on Select…, then you’ll see:

Fix Broken PowerPoint Links - Absolute Path Warning 1

Select the correct file if it isn’t already selected, then click on Grant Access. Now double-click on the linked Excel item to edit and you’ll see this again:

Fix Broken PowerPoint Links - Edit Warning

OK, that’s something of a hassle, but the good thing is that you won’t see those warnings again as long as the linked file says in the same place with the same name. You also only get warned once per placed file, even if there are multiple uses of that file in your presentation.

Linked files are a huge benefit when you have a data source that is constantly being updated. Using them means your presentation can always be up to date. Now that you know how to fix the links, you have a very useful new tool.

The Flat Theme – Best Practices

Flat Theme Shape Styles

I’m writing an article or two about Office Effects Themes and how you can modify them. As an example, I created the Brandwares Flat Theme, which will be of use to designers as is. This theme file gets rid of the bulgy 3-D shapes, glows and hokey shadows of the standard Microsoft themes and relies only on tints, shades and outline variations. You can use this example in 2 ways: as a theme file that you can modify and send as your own, and as an Effects Theme file that can be installed in Office for Windows to provide access to flat shapes in all other themes.

Here you can download the Flat Theme. It’s also available on our Downloads page. After downloading, you can open it in PowerPoint, create new font and color themes, apply them, then resave as a new theme. The flat shapes will travel with the theme and be automatically applied to any deck that uses the theme. If you’re an Office for Mac user, you’ll have to create a font theme using this article: XML Hacking: Font Themes.


The Flat Theme – Specs

There are 7 variants in each row of the the Shape Styles dialog, each showing the dk1 color as a background plus the 6 Accent colors. The first 2 rows feature a 0.5pt outline on the shape in a darker variant of the accent color, with the first row showing a white shape background and the second row the relevant accent color.

The third row is the one I choose most of the time: a flat shape with no outline.

The fourth row has a 50% screened-back background color with black text.

The fills for the 5th and 6th rows are 2 progressively darker shades of the accent colors. The 5th row shows a 50% shade of the color, while the 6th is a two-layer multiplier fill with a 50% shade overlaying a 50% tint. I’ll explain these more in the articles to come.

Users of Office 2016 for Windows and for Mac will see an additional group of Presets below the theme shape styles. Except for the stroke weight in row 2, these fills are generated automatically by the program and cannot be modified by XML.


The Flat Theme – Installing as Effects Theme

You can also use the Flat Theme as a new effects theme in Windows versions of Excel, PowerPoint or Word (Office for Mac will display effects themes embedded in a theme or template, but there is no support in the program interface for applying a different effects theme). Then it will appear in the Theme Effects dropdown of Office for Windows along with the standard Microsoft themes. Here are the steps to do that:

  1. Download the Flat Theme from the link above and unzip it.
  2. Change the file name from BrandwaresFlatShapes.thmx to Flat.eftx. The first part of the name can be something other than Flat, but the ending must be .eftx. No other change to the theme file is needed.
  3. Close PowerPoint.
  4. Copy the file to the same folder as the Microsoft Theme Effects files:

32-bit PowerPoint 2007: C:\Program Files (x86)\Microsoft Office\Document Themes 12\Theme Effects

64-bit PowerPoint 2007: C:\Program Files\Microsoft Office\Document Themes 12\Theme Effects

32-bit PowerPoint 2010: C:\Program Files (x86)\Microsoft Office\Document Themes 14\Theme Effects

64-bit PowerPoint 2010: C:\Program Files\Microsoft Office\Document Themes 14\Theme Effects

32-bit PowerPoint 2013: C:\Program Files (x86)\Microsoft Office\root\Document Themes 15\Theme Effects

64-bit PowerPoint 2013: C:\Program Files\Microsoft Office\root\Document Themes 15\Theme Effects

32-bit PowerPoint 2016 and 2019: C:\Program Files (x86)\Microsoft Office\root\Document Themes 16\Theme Effects

64-bit PowerPoint 2016 and 2019: C:\Program Files\Microsoft Office\root\Document Themes 16\Theme Effects

With Office 2013 and 2016, there may not be a root folder, but then the Document Themes folder will be inside Microsoft Office, eliminating one level.

Restart PowerPoint and you’ll see a new addition to the Effects dropdown:

Using the Brandwares Flat Shapes theme as an Effects Theme
Flat Theme Chosen

Great Color Themes – Best Practices

Great color themes in Office are not a random collection of swatches. Each spot in a color theme has a job. Once you learn those functions, great color themes will roll out from your office.

I’m always astounded to hear a Office “professional” who says “I don’t use themes.” I’m amazed because in modern versions of Office it’s impossible to not to use themes. If you haven’t set a theme for your template, then you’re using the default Office theme. Whether you like it or not! Themes are an integral part of Office, so you’d better learn how they work.

I’ve previously covered Font Themes and how to hack them, a necessary skill for macOS creators. Check out XML Hacking: Font Themes and XML Hacking: Font Themes Complete. In this post, I’m covering the inner workings of theming to show you how to create great color themes. I’ve touched on this subject previously in Office Charts: 6 Colors Maximum! For ideas on how to include more than one color theme in a template or presentation, please see XML Hacking: Color Themes


Great Color Themes: The Basics

When you create a color theme in PowerPoint, the color set is added to the theme1.xml file in your presentation and it’s saved on your computer. If you create a second color theme, that theme is also saved to your computer, but it replaces the first one in your deck. When you’re using the user interface, each Slide Master has only 1 theme at a time. So for more color themes, create more slide masters. If the color theme is for a special purpose, like differently-colored charts, the extra slide master might have only 1 slide layout. That’s less confusing for users.


Great Color Themes: Color Slot Functions

Almost every slot in a color theme has a PowerPoint function, a job that it fulfills for the program. If you don’t know what these are, you’ll place the wrong color in the slot and get a result that looks weird in the program interface. Needless to say, this doesn’t help your professional cred with your client.

Here’s the Color Theme editing dialog as seen in PowerPoint 2016 for Mac. In Office for Mac, you can only create color themes in PowerPoint. In Windows versions, you can create them in any Office program, though there is a good reason why you should still use PowerPoint.

Color Theme Editor

The following advice covers standard presentations that have a light background and dark text. If you’re going for the mysterious Mafioso look with a dark background, then reverse the following instructions putting text colors into the light slots and backgrounds into the dark ones. Oddly enough, when PowerPoint imports a theme exported from Word for Excel, it will default to the Mafioso look. This is the good reason why you should always export theme files from PowerPoint, where your choices for background and text are explicit and that information is preserved in the theme.

The first 4 colors are for text and backgrounds. Although all 4 are called Text/Background, that just to accommodate the occasionally light text on a dark ground, as mentioned in the previous paragraph. In reality, Dark 1 is the main text color. If you have black text in the deck, leave this set at black. You should only change this if you have no black text (Please dont’t tell me you’re doing that trendy look of black text that’s dark grey and makes it look like your printer ran out of toner. Eww.)

You may have a secondary text color for headings. That must go in the Dark 2 slot. Not in Light 1! Not in Light 2! All text colors go in the dark slots!

Light 1 is for background colors. Most of the time, this is white, so leave Light 1 set at white. If the design calls for a different background color than white, set it here.

Light 2 is the only slot in the theme that doesn’t have a secondary job. You can make this slot any color! It doesn’t matter! Woo-hoo! Let’s hold off, this is a good spot for an extra color that doesn’t fit elsewhere.

Accent 1 is the default color for inserted SmartArt, Text Boxes and Shapes. Almost all the time, you will make Accent 1 the primary corporate color. For our company, PMS 481C is the code color, so Accent 1 is the RGB equivalent in all our company themes.

If the company has a secondary brand color, Accent 2 is the logical position for it. So what about Accents 3 to 6? You’re thinking “Hey! 4 empty slots! Throw some colors in, we’re done!” Not so fast, junior.


Great Color Themes: Chart Fills

The set of Accent colors have a huge responsibility of their own: chart fills! I’ve created a color sequence to show how these are applied by PowerPoint.

Office programs fill charts using these 6 six colors in sequence. So when you’re designing, it’s best to know what that sequence is. The colors will be used in the same order:

Left to Right for Column Charts
Great Color Themes - Column Chart
Bottom to Top for Bar Charts
Great Color Themes - Bar Chart
First to Last for Line Charts
Great Color Themes - Line Chart
From 0 degrees (top dead center) clockwise for Pie Charts
Great Color Themes - Pie Chart

If there are no additional colors in the design standards, we create a pair of lighter and darker variations of the brand colors for Accents 3 to 6. But don’t just create a pretty series of swatches! Is the chart readable when printed on a black and white laser? Can color-blind people read it? You’re a Designer! You’re supposed to be thinking of these things! The rule of thumb is to alternate darker and lighter colors in a sequence so they can be distinguished from one another even in monochrome. Not sure? Test it!

Of the 12 colors in the theme, only the first 10 are accessible to the user in color picker dialogs. The last 2, Hyperlink and Visited Hyperlink, are applied automatically when the user inserts a hyperlink in the document. I usually use 2 of the theme colors for these, rather than Microsoft’s standard colors. If there’s a blue, that’s a good choice for the hyperlink, it’s a visual cue. The followed hyperlink can be a lighter grey or other tint, if there is one in the palette.


Great Color Themes: Recognizing Trouble

Before shipping the deck, here are a few quick tests you should be performing to show any color theme problems:

Insert SmartArt: Is the text readable?
Smart Art Problem
Insert a chart: Does the preview look right?
Chart Preview Problem

If either of these look odd, you probably have a color theme problem. If the text or background of either the chart preview or SmartArt don’t match the background of the deck, you’ve probably inserted a dark color into the Light1 slot

Insert a table: Do the auto-generated variations contain many useless combinations?
Table Colors Problem

Most of the autogenerated table combinations in this example are hideous and unworkable, sure sign of a bad color theme. You may also see a table style preview that looks different from the actual table. If the table preview shows a different color for table text (it will just show colored lines, not actual text), then the colors in Light2 and Dark2 have to be switched. Another problem indicator is if it appears you are selecting one color in the picker, but the actual color applied is different.

Insert a chart in Excel: Does the chart background match the worksheet background?
Excel Insert Chart Problem

If you see any of the above symptoms, take the time to fix them and do it right. Your client will notice these glitches and you won’t be able to ‘splain them away.

The general method to fix these issues is to put the theme in correct order, then go through the entire deck starting with the Slide Masters, correcting the colors back to the designed appearance. This effort isn’t too bad if it’s a single template or theme you’re correcting. Groups of finished presentations are a different matter that need a more automated approach. Next time, I’ll be writing about how to repair presentations with a bad color theme, using XML Hacking.

OOXML Hacking: Recent Colors

Recent colors are handled inconsistently by Microsoft Office programs. Word and Outlook only retain recently used colors only as long as the program is running, and those colors are visible in every document that’s open. By contrast, PowerPoint and Excel both include them in the document. As soon as you open a different file, the previous colors disappear from the color picker. Return to the first document and there they are again.

If you’re creating files for clients, you may generate quite a few colors in the design process. Your work will look a little more professional if you purge the Recent Colors from the PowerPoint or Excel file before sending it on.

If you’re new to XML hacking, please read my intro: XML Hacking: An Introduction. If you’re working on a Mac, you should also read XML Hacking – Editing in macOS.

Recent Colors in the Windows Color Picker

The row of Recent Colors that PowerPoint and Excel include in the file is a distraction for your client.


Recent Colors Removal Steps

Under Windows, begin by unzipping the file. On a Mac, open it in BBEdit or other advanced text editor.

If this is a PowerPoint deck, look in the ppt folder for the presProps.xml file. The recent colors begin on the third line of a prettified (human-readable) file. Simply delete the entire clrMru section:

<p:clrMru>
  <a:srgbClr val="A54DA5"/>
  <a:srgbClr val="C8006E"/>
  <a:srgbClr val="64006E"/>
</p:clrMru>

To remove the Recent Colors from an Excel workbook, open the xl folder, then edit styles.xml. Look for the colors section, then delete the entire mruColors part:

<colors>
  <mruColors>
    <color rgb="FF640064"/>
    <color rgb="FF393939"/>
  </mruColors>
</colors>

After editing, rezip the files if you’re using Windows or save and close in your macOS text editor. Test that the file opens as expected and no longer has Recent Colors in the color picker, that send it off to the client.

Recent Colors Removed

A more presentable dialog for your client.


Don’t Reuse Recent Colors

Occasionally an artist will try to include special colors in the Recent Colors section, to give the client some additional color choices. This is a bad idea because the Recent Color section is dynamic. When any new color is created, it’s added to the left end of Recent Colors. If the row is full, the oldest color gets pushed off the right end. A better solution is to create Custom Colors. Here’s my how-to on the subject. Custom Colors don’t move or change and can be named, which is a little extra help for your client.