罗萨里奥(Rosario)有大量文档(其中约有44,000个),每个文档的标题中都有一个图形。她正在寻找一种删除所有这些图形的方法,而无需手动打开和修改每个文档。

幸运的是,可以通过创建宏来处理。您需要做的就是将所有文档放在一个文件夹中,然后使用宏在文件夹中搜索,打开每个文档,删除图形并保存每个文档。可以使用如下宏来完成:

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 = "*.docx"        ' 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

该宏假定您要删除标题中的所有图形(浮动图形和嵌入式图形)。这些将被删除,并且每个文件都将被保存。该宏不会影响文档中的任何其他图形。

您应注意,此特定宏检查使用DOCX扩展名的文件。如果您有使用不同扩展名的文档(例如DOCM或更旧的DOC),则需要多次运行宏。在每次运行之间,更改设置文件扩展名模式的行。 (该行的末尾有注释,指出“要匹配的文件模式”。)

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(9744)适用于Microsoft Word 2007和2010。您可以在以下位置找到适用于Word较旧菜单界面的本技巧的版本: