Welcome toWord.Tips.Net
Ask a Word Question
Make a Comment
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
Setting Fraction Bar Overhang Spacing in the Equation Editor
Printing On Both Sides of the Paper
Turning Off AutoComplete for Dates
Understanding Auto Line Spacing
Adding Comments to Your Document
Conditional Calculations in Word
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.