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:
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:
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):
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:
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:
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:
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:
Click on Select…, then you’ll see:
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:
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.
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’ve written at length about effects themes and their construction in my book about OOXML Hacking.
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:
Download the Flat Theme from the link above and unzip it.
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.
Close all Office programs.
Copy the file to the same folder as the Microsoft Theme Effects files:
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.
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.
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:
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:
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
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.
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.
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.
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:
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.
A more presentable dialog for your client.
PowerPoint VBA to Remove Recent Colors
There’s a simple alternative if you’re using PowerPoint for Windows: you can run a macro to remove the recent colors. It’s dead simple, here’s the code:
Unfortunately, PowerPoint for Mac VBA is missing the .Clear method, so you’ll have to hack the file. There’s VBA no equivalent in Excel for Windows or Mac, you’ll have to edit the XML to get rid of them.
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.
When you choose fonts for Office, it takes a different approach than selecting typefaces for an InDesign document. One obvious difference is that you only need to install the font for a design document on the computer where it’s being created. Using the same font in an Office program will require the font to be installed on every computer using the document. Clearly, this is a much more costly solution. Aside from that, let’s look at the pitfalls of choosing fonts for Office templates.
Choosing Fonts for Office – Fake News
Most of what you see on the internet comparing font formats is wrong. Almost all modern professional fonts are OpenType format. There is PostScript-flavor OpenType, favored by Adobe and ending with .OTF And there is TrueType-flavor OpenType, Microsoft’s choice, ending with .TTF. It’s the continued use of the .TTF file ending that has misled many into thinking that they’re old-fashioned TrueType fonts. They’re not.
To verify this in macOS, open FontBook and examine a font with a .TTF ending. Make sure choose View>Show Font Info. Now look at the Kind parameter. Old-fashioned TrueType fonts would say TrueType here, but more likely you’re seeing OpenType TrueType.
In Windows, if you right-click on any file ending in .TTF and choose Properties, Type of file is reported as TrueType font file (.TTF). But this is illustrative of Windows’ relatively brain-dead design rather than any real information about the font.
Confirming this in Windows requires a few more steps. Start by opening the C:\Windows\Fonts folder. Set the View menu to Details. Now right-click in the row that displays the categories like Name, Font Style, etc. A list of avilable categories display. Choose Font Type. Now you can see that almost all the fonts are OpenType. You’ll only see TrueType if you’ve installed some old fonts from the 90s.
Choosing Fonts for Office – Designer Vanity
Designers from different geographic areas spec fonts differently. As one example, Toronto designers tend to focus on the practicalities of electronic document distribution. As a result, they will often choose Arial or Times New Roman for the user-filled portion of a template. By contrast, designers from New York focus on creating a distinct visual appearance. They choose unusual designer fonts. This creates logistical problems for their clients. They must spend money licensing for all workstations and then take time to install the fonts for each user.
Test fonts from small foundries to licensing a lot of copies. I’ve written about this issue before: Cross-platform Fonts from Small Foundries: Beware! In a mixed Windows/OS X environment, a poor quality font will not display correctly in documents that move between Mac and PC. One typical symptom is Italic text that displays as Roman or Bold when viewed on a different OS, or some similar weight/style mixup.
Choosing Fonts for Office – Collaboration
If the client uses Office documents for collaboration (Don’t know? You should be asking these questions!), you should seriously reconsider a “designer-y” font choice. When the documents arrive at your client’s client, that computer will not have the fonts and the document appearance will change drastically. Unlike web pages, Office documents do not have a font fallback setting. There is no practical way to preset which font will be substituted when the original is missing.
I know what you’re going to say next: “What about if we embed the fonts?” Here are several reasons why that might not work.
Embedding does not work at all in Office 2011 or earlier for Mac. Users of these versions can neither embed fonts, nor can they view fonts that have been embedded in Windows.
Embedding doesn’t work in Word or Excel for Mac, in both the 2016 and 2019 versions. PowerPoint 2016 for Mac users must have at least version 16.11 to view embedded fonts. The 2016 retail version (as opposed to the Office 365 subscriber version) cannot embed fonts in PowerPoint. Mac users must have at least Office 2019 retail or Office 365 version 16.17 to save embedded fonts in a PowerPoint file.
Many typefaces have restrictive embedding permissions. So even if you can embed the font and your client can see it, they will not be able to edit the document using the embedded font. You can get around this if you contact the foundry and request a version with Editable or Installable permissions. Expect to pay a surcharge for this. Some foundries charge a lot for this service, because they’re concerned about losing sales to possible piracy.
Choosing Fonts for Office – Font Families
Designers are used to Single versions of fonts. The is where each font variant appears as a separate entry in the font list in Office. If you want to change to bold or italic, you select a different font from the list. Office doesn’t usually work this way and Office users are not used to this method.
Instead, Office users are familiar with Family fonts. This is where where a group of (usually 4) fonts is linked. To get bold or Italic variants, they click on the Bold or Italic buttons, leaving the font name the same. The foundry usually creates the font families, though there are some type utilities available that let you make a family out of single fonts. As I mentioned earlier, Microsoft hasn’t figured out how to consistently display an .OTF font family correctly. Symptoms vary but are along the lines of you choose Bold and you get Bold Italic, or a similar variant. The wrong font is shown and printed. Typocially this will manifest when moving a Windows-created document to macOS or vice versa.
In macOS, it’s not obvious when you are using single versus family fonts. MacOS creates family groupings on the fly. In Windows, it’s easy: install the fonts, then look at the font menu in an Office program. A font family will only have one entry for the family, while singles will list every font variant. In this screen shot, the Arials are families. Arnhem and ATC Arquette are collections of single fonts:
The logical conclusion to the font family approach is that your client should almost never be licensing just one or two typefaces. If four family members are not installed, Office will fake them by stroking the font for bold and slanting it for italic. As you might guess, this looks ghastly and completely off-brand.
The exceptions to this rule are:
If the document is a fillable form in Word or Excel. Those documents are typically locked so the user can’t change the font or its attributes.
The the font is used only for Headings. These are usually bold and stay that way, so there is less chance of a user applying attributes.
In either of these 2 situations, you should be able to get away with licensing a single typeface instead of a complete family.
If your design calls for an unusual mix of weights, like Light and Demibold instead of Regular and Bold, contact the foundry to request a custom family. There is normally a small charge for this service. However, if the licensing deal is large enough, the foundry may waive this.
Choosing Fonts for Office – 2 Solutions
To sum up, for each different font used in your design, your client should be licensing a complete family of 4 typefaces in TrueType or Truetype-flavored OpenType.
Brandwares is a font reseller and we’ve been speccing type for Office for years. If you choose us to create your templates, we can also source your client fonts in the correct format and family. This service includes free tech support. We’ll help your client with any installation or usage issues and communicate with the foundry, if necessary.
Working on your own? A simple way to eliminate all these issues is to design with the fonts that are already installed by Office. There are many faces more interesting than Arial and Times New Roman in this collection. The fonts that come with Office don’t require any additional licensing fee. They are already installed and they have relaxed embedding permissions to make collaboration easy. They are all high-quality typefaces licensed from major foundries like Monotype. Here is a list of the families that are useful for business communications (we left out Comic Sans!). For maximum compatibility among all versions of Office, use a font that is checked in every column.
This list is available as a free PDF that shows character listings for every font by clicking on the font name. Email me to get a copy: firstname.lastname@example.org
It’s a challenge to create the absolute best quality logos for client files in Microsoft Office. Most artists choose bitmap formats for logos, usually JPEG format. Apparently this is some kind of received wisdom from artist to artist, because JPEG format is close to the worst possible format for logos. But I’ve already covered this subject in JPEG Logos? Fail! back in 2013.
Brandwares has used indexed-color PNG format for most line art (a term for non-photographic art that is mostly flat color areas). Most logos qualify as line art. But there are a couple of disadvantages to using any type of bitmap format for branding information.
With Office files, Microsoft is determined to foist image “compression” on us. I put compression in quotes because Microsoft’s solution is really downsampling by another name. Whatever the name, the results are blurry and absolutely do not reinforce the brand. All bitmap files will be downsampled unless the user chooses only a single file. You can’t protect the company logo, even with XML hacking. Let’s face it, sooner or later, bitmap logos will look like mush.
The other persistent problem with bitmap formats is what happens when you create a PDF from a document. Acrobat’s default settings assume you want to create a small file to post on a web page. This was a serious problem 20 years ago. So, once again, a software company’s helpful authoritarianism leads to default settings that cream the logos in any Office file.
Vector Formats for Best Quality Logos
For many years, we at Brandwares were aware that a vector format was a potential way out of this. Vector formats are naturals for line art, because they easily handle geometric shapes with simple coloring. But there are relatively few vector formats from which to choose, and the available formats didn’t seem up to the job.
One grandaddy of vector formats is the EPS file. Well-known to designers, the EPS doesn’t get great support in Office programs. Printing them at high resolution requires PostScript support from the printer, which is dicey in most business offices. Office programs can’t ungroup them, so adding theme color support in an Office file is out of the question.
CGM was an early contender, and is still used in technical applications. But it never got support in common file formats. SVG is making inroads on the web, but Office is only beginning to support the format.
Let’s be honest, Microsoft offers the best support to the formats it invents. For vector graphics, that is WMF and EMF. WMF is a 16-bit format that was invented in the ’90s. In practice, it’s not too useful today. All too often, WMF files do not render the inside curve of shapes like O or D. In addition, Adobe Illustrator’s WMF export is horrendous, turning every curve into a series of angled straight lines. Corel Draw does a better export, but the format is limited by its 16-bit capacity.
The format we’re left with is EMF (Enhanced MetaFile). Brandwares has developed a method to create the highest quality EMF files possible. Whatever you do, do not use EMFs exported by Adobe Illustrator! Illustrator’s curve accuracy goes down the toilet when it exports as EMF. Here’s what you’ll get, versus the type we produce:
We create robust logos with a tiny file size and razor sharpness at any resolution and transparent backgrounds and they will never get downsampled by Office or Acrobat!
Best Quality Logos In Use
Once we’ve placed our EMF logos in your presentation, they can be ungrouped in Windows versions of PowerPoint, then you can key part or all of it to a theme color. If your presentation contains multiple color themes, changing theme colors will change the keyed logo element automatically. This can be a slick trick for presentations with different sections in different code colors. If you’re working with a Mac, let us know and we can ungroup and key the logo parts for you.
The layout for these slides is identical. Each uses a different color theme that varies one code color.
Transparency is not supported in most EMF exports, but by importing and ungrouping the logo, you can add transparency back in. In PowerPoint, choose Drawing Tools>Shape Fill>More Fill Colors…, then set the Transparency slider. This works the other way around from Illustrator, but the units are the same. If the Illustrator file used 40% Opacity, set 60% Transparency in PowerPoint.
From L to R: each character has 10% more transparency. You can’t get this by adding transparency in Illustrator, you must re-create it in Office.
EMF are not a great candidate for objects like disclaimers. Each letter includes one or 2 complex curves, so a paragraph of text will be much larger that the same disclaimer rendered as an indexed-color PNG or even a JPEG of the same text. But for logos, they’re pretty great. You get the same small file size and pin-sharp appearance regardless of how much you enlarge it. Applying image compression or printing to a low-res PDF leaves EMF logos in pristine condition. It’s by far easiest way to create the best quality logos for Microsoft Office.
You have a crucial thesis or presentation that’s due in the morning, but when you try to open it, you get a message saying the file has an error. It may seem like the end of the road, but with a little XML hacking, you can repair your file in just a few minutes and be back to work. Document repair is something you can do yourself.
First, let’s look at different causes of file corruption. The number one cause is working on files while they are on temporary or removable media. A USB or flash drive is a convenient way to carry data. The common alternative is to keep your information in the Cloud. But both of these are hazardous if you’re editing files. Accidentally ejecting a USB stick or losing your Internet connection while a file is open in Office is a near-guarantee of corruption. This type of corruption is also disastrous, because the file contents are so thoroughly scrambled, there is no way to recover the data.
But there are also files that get scrambled by software and usually these are recoverable. We’ll use the same techniques covered in previous posts. Windows users should review XML Hacking: An Introduction, while OS X hackers need to follow these instructions: XML Hacking: Editing in OS X
Is the File Recoverable?
When opened in Office, unrecoverable files may give you errors like these:
The first step is to rename a copy of the file with a .zip ending and expand it. An unrecoverable file (one scrambled by a USB or Cloud drive) will almost always raise an Zip error. Cut your losses, you’re not going to be able to fix this. As a second-best alternative, try opening the original damaged file in NotePad (on Windows) or Text Edit (OS X) to recover whatever text you can. You also might be able to extract some contents by opening in a different word processor, like Pages on a Mac.
By contrast, if you see the following messages, document repair is possible:
You can see that the first 2 messages are generic, while the second 2 give a specific location for the error. This means the file is at least partially readable by the program.
There are quite a few document repair articles on the web that are worth reading for the variety of tools that people are using. I prefer a combination of a good text editor (NotePad++ on Windows, BBEdit on OS X), plus a modern browser like FireFox or Chrome. The text editor is where you do the editing, while the browser parses the XML and finds any errors.
You’ve already unzipped the document or presentation, now look for the XML portion that contains the error. Most of the time, with a Word file, document.xml will be the culprit. Open document.xml in the text editor and Prettify (NotePad++) or Tidy (BBEdit) it to make it readable. A raw document.xml file only has 2 lines, which is why the XML errors are invariably reported as being on line 2. Making the text readable also adds useful line numbers to error reports, making the errors much quicker to find. Now the file should look like this:
Save document.xml, then open it in your choice of browser. This is how FireFox and Chrome show where the first error is:
As you can see, the report is a little more informative in FireFox. The error is a mismatched tag: a tag was opened but not closed. It expected to see the closing tag </mc:Fallback> and it tells you exactly where it thought that tag should be. The arrow points to the first character that is in error. The correct way to interpret this is that the expected end tag should be inserted immediately before the tag pointed to.
Document Repair Technique
Here’s what the error location looks like in the text editor:
Then here is what it looks like after inserting the closing tag (you can copy and paste directly from the browser window):
Save document.xml in the text editor, then refresh the browser. The next error is shown:
Repeat the steps. Some files have only a couple of errors, others may have dozens. You’ll know when you’re done, because refreshing the browser will give you a different screen, displaying the XML instead of an error message:
Rebuild the File
Close the text editor and browser, then re-zip the folders and [Content_Types].xml, giving the zip file a new name and a file ending that matches the original. Open it to ensure it works. Office does not tolerate XML errors well and doesn’t give you clear error messages, so if the file doesn’t open, you missed something. In addition, Mac users have to use Terminal to zip and view files, as noted on the XML Hacking: Editing in OS X page.
Lots of people ask “How can I prevent this?”, but there isn’t a really good answer. If a file can be repaired, it’s almost always due to a program bug that writes malformed XML. In the Word file used for example, this is often when a placed graphic has no fallback information, which is supposed to help with graphic depiction in older file formats. It appears that the program omits the closing fallback tags when saving and you get the error. It’s not your fault, but Microsoft has not been able to find and eliminate this bug since the 2007 version.
OS X versions of Microsoft Office have always been the poor step-children in the Microsoft family. Always missing important features found only in the Windows alternatives. One of these obvious disparities has been in the area of linked Excel charts. In Windows, Microsoft uses their OLE technology to allow, for instance, an Excel workbook to be linked to a PowerPoint presentation.
The Excel workbook can still be edited independently. The charts can be revised based on new data, and when the presentation is opened, the updated information will be displayed. This is a powerful tool in many situations where information is changing rapidly and the presentation must stay current. This approach also leverages the inheritance of data. This allows users to have only one data source that drives updates in many different places.
Of course, OLE being a proprietary Microsoft technology, it has almost no support on other operating systems. The only way it appears in OS X is if an individual software vendor creates an instance that works with their code. Office for Mac has had its own tiny version of OLE that allows some, but not all the features found in Windows. You could only insert Office objects (forget about PDFs) and you couldn’t link, only embed.
Until now. With the release of Office 2016 for Mac, the tiniest crack of linkability has finally opened. Try these steps: Open Excel 2016 for Mac and create a chart. Select that chart and copy it. Open a presentation in PowerPoint and click on the down-pointing arrowhead beside the Paste button. Now your options include all of the following:
Use Destination Theme & Embed Workbook
Keep Source Formatting & Embed Workbook
Use Destination Theme & Link Data
Keep Source Formatting & Link Data
Paste as Picture
Options 1, 2 and 5 have always been available. The news is with 3 and 4, where linked data for charts becomes a new possibility. But along with this fresh opportunity comes a problem that hasn’t been addressed by Microsoft. It’s very nice to link charts, but the Microsoft default is always to hard code the link path. This means that moving the presentation and Excel source to a different computer destroys the links. The charts are no longer editable, because the link path has changed.
Remember the poor step-child analogy? Here it is again: Windows versions of PowerPoint allow you to edit the links in the program so you can fix the path problem. But no such facility exists on the Mac. To update those linked Excel charts, you need to … hack the XML!
If you’re new to XML hacking, please read my introduction to the subject. Since this topic is specific to OS X, it’s also vital to read XML Hacking: Editing in OS X as well. I assume that you have figured out the correct path to the Excel file on the computer where the presentation has been moved.
Updating linked Excel Charts with XML Editing
After unzipping the presentation, you’re going to look inside the folders for ppt/charts/rels. Office XML files are full of rels folders that contain the relationships between the components of the document. Each chart in the presentation consists of a file i.e. chart1.xml with a corresponding chart1.xml.rels inside the rels folder. The number in the chart name increments for each additional chart linked.
The lines of code are long, please scroll to see where I’ve bolded the path and file name, this is the section you have to modify to update the linked Excel chart.
Just as a comparison, here’s the analogous information from a PowerPoint 2010 file. In this case, there is not a chart folder containing chart.xml files. Instead, the charts are part of the slide files and are found in slide1.xml. The rels file is slide1.xml.rels and it looks like this:
A close examination shows that much of the same information in a Mac file is also here, but the file and path is Windows-style. Using this information, you’re ready to update those linked Excel charts with the best of them!
Note: I’ve included the original article text to describe the background issues about XML editing in macOS, but to retain your sanity, be sure to follow the May 2016 and July 2018 updates at the end and use a text editor that doesn’t require unzipping and rezipping the files
When you’re hand-editing Office files in Windows, it’s pretty straight-forward: unzip file > edit > rezip, you’re done. Editing in macOS requires a couple of extra precautions. This is because the graphical user interface adds Mac attributes to files and plants hidden files in folders. Office will not tolerate either of these:
XML error message in 2008
XML error message in 2011
XML error message in 2016
If you use macOS’s Archive Utility to unzip or zip the files, Word will refuse to open the resulting file. On top of that, if you look in any of the folders using the Finder, a hidden .DS_Store file will be created in the folder. When re-zipped, Word will not accept the extra file and again report an XML error. The solution to these issues is to use the command line, like the Unix warrior you want to be! Remember to run each Terminal command by pressing the Return key after typing the command.
A valuable utility for this is OpenTerminalHere. Open any Finder window, click on OpenTerminalHere and a terminal window opens pointed to the Finder window. So download and install it, then follow these steps to open, edit and re-zip Office files:
Move a copy of the Office document (let’s call it TestDoc.docx) to a separate folder and open that folder in the Finder.
Click on OpenTerminalHere to open a copy of Terminal aimed at the folder.
In the Terminal, type
then press Return. The file is unzipped into several folders plus a file called [Content_Types].xml.
Do not look in any of the folders using the Finder, or you’ll have to start over. To examine a folder’s contents, use the Terminal to change the folder, then list the contents:
To go back up to the previous folder, type:
To edit the files, open your text editor, then navigate using the File>Open dialog to find the file. Edit the file, then save and close.
When you’re all done, double-check that terminal is pointing at the original folder holding the documents and the expanded folders. If you’re unsure, close terminal, then click on OpenTerminalHere to reopen in the right spot.
In Terminal, re-zip the files with this style of command:
zip -r RevisedDoc.dotx [Content_Types].xml _rels docProps word
This example is for Word, but the correct syntax after zip -r is to type the name of the final document, followed by the file and folders, each separated by a space. The file is reassembled into an Office file.
Test that you can open it. If you get an XML error notice, re-read the above steps and try again.
Please note: these editing techniques are required when editing in macOS with Word, PowerPoint and Excel documents and templates, plus Office Theme files (the kind exported from PowerPoint that combine all Theme elements.
If, on the other hand, you are editing a Font Theme or a Color Theme, those are simple XML files. They don’t need to be unzipped or re-zipped and Office doesn’t seem to care about macOS attributes attached to them. These plain XML files don’t need to be handled through the terminal, just use the Finder.
Next time, we’ll be looking at managing Word styles in macOS. Finally, a way to get rid of the zombie styles automatically created by Word! Happy hacking!
March 2016 Update
An alternative to working entirely in Terminal is to work on a network or USB disk where creation od .DS_Store files has been turned off. On a network disk, open Terminal in your choice of folder and run the command:
While this will prevent future generation of the .DS_Store files in that folder and any subfolders, it’s very likely you already have such files, since they’re created almost as soon as you view a folder’s contents in the Finder. In addition, some important XML parts are hidden and need to be revealed. So while Terminal is open, run:
The second line restarts the finder to force a refresh of the view. Now you can see any .DS_Store files and delete them before re-zipping the files into an Office document. You’ll have still have to do the zipping in Terminal. Also, no .DS_Store files means OpenTerminalHere doesn’t work, so you’ll have to navigate manually via Terminal commands. Now you know why this is a lame alternative.
If you try this technique, you can always restore the clean file view by running:
defaults write com.apple.finder AppleShowAllFiles NO
Once you’ve created this OOXML editing drive, you can use the command-line zip utility to unzip the files. But there’s also a very useful GUI utility that works better than Archive Utility with Office files. Visit the App Store and get The Unarchiver. Then use it to unzip and expand the Office file.
Editing in macOS – May 2016 Update
BBEdit 11 and better has the ability to open and edit Office files directly, avoiding all of the above hassle when editing in macOS. BBEdit has a 30-day free trial with all features included. While older versions of BBEdit used Tidy to format text, that utility has been retired. The BBEdit programmers have written a script to format XML in human-readable form. You can download it from here, please be sure to read the installation instructions first: Click to download XML Tidy Script for BBEdit
Here’s your working procedure:
Open your Office file in BBEdit 11 or later. In the left-hand pane, you’ll see a folder tree of the files contained within, so no unzipping is required
Select the file you want to edit. The file opens in the main BBEdit window, displaying two lines. The first is the XML header, the second is the actual content.
Click at the left end of the second line.
Choose Text>Apply Text Filter>run_tidy.
Make your edits and save. It’s not necessary to linearize the XML. The Office program will do that anyway the first time you save it. However, if you like to leave things exactly the way you found them, click in from of the first line of content (after the header line), choose Markup>Utilities>Format…, change the Mode to Compact and click on the Format button. Save the file and test your editing in macOS.
Editing in macOS – July 2018 Update
Technology marches on! If you use the Chrome browser, there is a free XML editing alternative that avoids unzipping and rezipping files. Open this link in Chrome: OOXML Tools and download the free plugin. After installation, click on the OOXML icon to the right of the browser address bar. Drag your Office files onto the browser window to begin editing. When you’re finished, click on the Save button, then the Download button in the upper left corner and give the new file an appropriate name. Chrome will place the new file in your Downloads folder and leave the original file untouched. OOXML’s EMF/WMF bug has been fixed, so download the most recent version. Thanks to Bram Alkema of the Netherlands for informing us about OOXML Tools.
Please note, for any OOXML Hacking that requires adding new XML parts (Ribbon mods, creating SuperThemes), BBEdit and OOXML Tools will not work. You’ll have to use the March 2016 update solution and create a network or USB disk set up for XML editing.
We’re experts in XML hacking, so you don’t have to be. Contact me at email@example.com with the details of what you need hacked.
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:
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 firstname.lastname@example.org