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_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(9744)は、Microsoft Word 2007および2010に適用されます。Wordの古いメニューインターフェイス用のこのヒントのバージョンは、