Rosario a un grand nombre de documents (environ 44 000 d’entre eux), chacun contenant un graphique dans l’en-tête. Elle cherche un moyen de supprimer tous ces graphiques sans avoir besoin d’ouvrir et de modifier chaque document manuellement.

Heureusement, cela peut être géré en créant une macro. Tout ce que vous avez à faire est de placer tous les documents dans un dossier, puis d’utiliser la macro pour rechercher dans le dossier, ouvrir chaque document, supprimer le graphique et enregistrer chaque document. Cela peut être fait avec une macro comme la suivante:

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

Cette macro suppose que vous souhaitez supprimer tous les graphiques (flottants et intégrés) de l’en-tête. Ceux-ci sont supprimés et chaque fichier est réenregistré. La macro n’affecte aucun autre graphique du document.

Vous devez noter que cette macro particulière recherche les fichiers qui utilisent l’extension DOCX. Si vous avez des documents qui utilisent des extensions différentes (telles que DOCM ou l’ancien DOC), vous devrez exécuter la macro plusieurs fois. Entre chaque exécution, modifiez la ligne qui définit le modèle pour l’extension de fichier. (La ligne a le commentaire à la fin qui dit, « modèle de fichier à correspondre ».)

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

WordTips est votre source pour une formation Microsoft Word rentable.

(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (9744) s’applique à Microsoft Word 2007 et 2010. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu de Word ici:

link: / word-Removing_Pictures_from_Multiple_Files [Suppression d’images de plusieurs fichiers].