Word.Tips.Net Welcome toWord.Tips.Net

Helpful Links

Tips.Net Home
WordTips Home

Ask a Word Question
Make a Comment

Tips.Net Store

WordTips FAQ
WordTips Premium

Learn Access Now
Free Printable Forms

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
WordTips Site

Newest Tips

Arranging Document Windows

Specifying a Backup Location

Controlling Chart Gridlines

Merging Table Cells

Collapsing and Expanding Subdocuments

Zooming With the Keyboard

Initiating a New Search

 

Removing Pictures from Multiple Files

Summary: Got a bunch of files you need to remove a graphic from? What if that graphic is in the header of each of those files? With the macro introduced in this tip, you can load thousands of documents and remove any graphics from each one's headers. (This tip works with Microsoft Word 97, Word 2000, Word 2002, and Word 2003.)

Rosario has a huge number of documents (about 44,000 of them), each of which contains a graphic in the header. She is looking for a way to remove all those graphics without the necessity of opening and modifying each document manually.

Fortunately this can be handled by creating a macro. All you need to do is put all the documents in a folder and then use the macro to search through the folder, open each document, remove the graphic, and save each document. This can be done with a macro like the following:

Sub StripGraphics()
    Dim oShape As Shape
    Dim oIShape As InlineShape
    Dim I As Integer
    Dim J As Integer

    With Application.FileSearch
        .LookIn = "C:\MyStuff\"     ' where to search
        .SearchSubFolders = True    ' search the subfolders
        .FileName = "*.doc"         ' file pattern to match

        ' if more than one match, execute the following code
        If .Execute() > 0 Then
            MsgBox "Found " & .FoundFiles.Count & " file(s)."

            ' for each file you find, run this loop
            For I = 1 To .FoundFiles.Count
                ' open the file based on its index position
                Documents.Open FileName:=.FoundFiles(I)

                ' document is now active, check all sections
                For J = 1 To ActiveDocument.Sections.Count
                    With ActiveDocument.Sections(J).Headers(wdHeaderFooterPrimary)
                        ' remove floating graphics from header
                        If .Shapes.Count > 0 Then
                            For Each oShape In .Shapes
                                oShape.Delete
                            Next oShape
                        End If
                        ' remove inline graphics from header
                        If .Range.InlineShapes.Count > 0 Then
                            For Each oIShape In .Range.InlineShapes
                                oIShape.Delete
                            Next oIShape
                        End If
                    End With
                    With ActiveDocument.Sections(J).Headers(wdHeaderFooterFirstPage)
                        ' remove floating graphics from header
                        If .Shapes.Count > 0 Then
                            For Each oShape In .Shapes
                                oShape.Delete
                            Next oShape
                        End If
                        ' remove inline graphics from header
                        If .Range.InlineShapes.Count > 0 Then
                            For Each oIShape In .Range.InlineShapes
                                oIShape.Delete
                            Next oIShape
                        End If
                    End With
                Next J

                ' save and close the current document
                ActiveDocument.Close wdSaveChanges
            Next I
        Else
            MsgBox "No files found."
        End If
    End With
End Sub

This macro makes the assumption that you want to remove all the graphics (both floating and inline) in the header. These are removed, and each file is resaved. The macro doesn't affect any other graphics in the document.

Tip #311 applies to Microsoft Word versions: 97 | 2000 | 2002 | 2003

Take Control! Master the real power behind Word! Successfully master the secrets of powerful formatting and create documents that stand out from the rest. Best of all, you can create documents that are easy to maintain and quick to change.
 
Check out WordTips: Styles and Templates today!