No more Pattern Fills in PowerPoint 2007
Problem
Pattern fills are gone from PowerPoint 2007. So what if you NEED pattern fills?
Solution: For Excel Charts
Excel MVP Andy Pope has written a Fill Pattern Add-in for Excel that restores fill patterns/colors to Excel charts and some other objects.
Solution: Use Word
For some odd reason, Word still has Pattern fills even though they've been removed from PowerPoint. If you can do your drawing in Word, you can copy/paste it into PowerPoint, complete with pattern fills.
Or, more devious and certainly more useful:
- Create a set of shapes in Word with the fill, outline and other attributes you need.
- Copy/Paste them into PowerPoint 2007, perhaps on a temporary slide in your presentation.
- Customize PowerPoint to add the Pick Up Style and Apply Style icons to the Quick Access Toolbar (QAT).
- Now you can quickly select a shape with the formatting you want, click Pick Up Style, then select the shape you want to format and click Apply Style to give it the same formatting as the shape you created in Word.
Thanks to PowerPoint MVP John Wilson of PPTAlchemy for that tip. You can see his illustrated tutorial here.
Or better yet:
Our PPTools ShapeStyles addin lets you pick up styles from the Word-created shapes and apply them to one or more other shapes.
Once you've created the Styles using ShapeStyles, there's no need to have the original Word shapes in your presentation. Better yet, ShapeStyles lets you select just the attributes you want to apply. For example, you can have styles that only apply a particular pattern fill but don't affect any other formatting when you apply them. PowerPoint's Pick Up and Apply Style buttons can't do this. With them, it's all or nothing.
To save you having to create the styles in Word, we've included a sample PPT 2003 file and ShapeStyles Style files, one for each of the 48 Pattern fills.
After you install the free ShapeStyles demo, Download SHAPESTYLEPATTERNS.ZIP and unzip it into any convenient folder.
Since the Demo version of ShapeStyles only allows you to work with five styles at at time, you'll need to copy any five of the included RNR style files to the folder where your styles are stored.
If you have a full version of ShapeStyles, you can copy all of these styles to any folder you like and use them.
Solution: Create your own image fills with patterns
You can create shapes in PowerPoint 2003 or earlier, fill them with the pattern fill you need, then export them as WMF or EMF and use them as Picture fills in PowerPoint 2007.
What if you don't have PowerPoint 2003 any more? And isn't that a lot of work?
We've created a set of fills for you in black and white.
Download and unzip PATTERNFILLS.ZIP to any convenient folder.
Enjoy.
If you want to make your own fills in different colors, have a look below. This is the code we used to create the WMF files in the zip above. It's best to find a colleague with 2003 or earlier to run the code. You can run it in 2007 but it will only produce black and white patterns; you won't be able to control the pattern colors as you can in earlier versions.
Sub MakeFillPatterns() ' Start by opening a new blank presentation ' Then run this Dim oSh As Shape Dim x As Long Dim sOutputFolder As String On Error GoTo ErrorHandler ' edit this to the slash-terminated path to the folder where you want the files created ' the folder MUST exist or you'll get an error and the macro won't work sOutputFolder = "c:\temp\" With ActivePresentation .PageSetup.Slideheight = 72 .PageSetup.Slidewidth = 72 Set oSh = .Slides(1).Shapes.AddShape(msoShapeRectangle, 0, 0, 72, 72) With oSh ' we don't want the outline visible ... it'll spoil the pattern .Line.Visible = msoFalse .Fill.Transparency = 0# .Fill.Visible = msoTrue ' This is set to use foreground and background scheme colors. ' Change the scheme to get different color fills: .Fill.ForeColor.SchemeColor = ppForeground .Fill.BackColor.SchemeColor = ppBackground For x = 1 To 64 .Fill.Patterned x ActivePresentation.Slides(1).Export sOutputFolder & "PatternedFill" & CStr(x) & ".WMF", "WMF" 'ActivePresentation.SaveAs sOutputFolder & "PatternedFill" & CStr(x) & ".WMF", ppSaveAsMetaFile Next End With End With NormalExit: Exit Sub ErrorHandler: ' if we got here, either the path was wrong or we've asked for a fill number greater than ' PPT knows about; either way, quit Resume NormalExit End Sub
See How do I use VBA code in PowerPoint? to learn how to use this example code.