3 votes

Appliquer un style de bordure à toutes les images avec VBA dans MS Word 2010

J'ai un gros fichier Word docx contenant du texte et de nombreuses images. Je voudrais appliquer un style de bordure/cadre à toutes les images en une seule fois. Je ne veux pas le faire individuellement pour toutes les images.

Je pense donc qu'une macro est la solution, mais je ne maîtrise pas très bien la création de macros Word. Je pense que c'est le début, mais j'obtiens une erreur en essayant d'appliquer les paramètres à un fichier de type <hr> élément.

Voici le code de la macro que j'ai utilisée. Je pense qu'une petite modification suffira à régler le problème (en permettant au code de s'exécuter sur tous les objets de l'image).

Sub addborder()
'
' addborder Macro
'
'
Dim i As Long, j As Long
With ActiveDocument.Range
    For i = 1 To .InlineShapes.Count
        With .InlineShapes(i)
            For j = 1 To .Borders.Count
                .Borders(j).LineStyle = wdLineStyleSingle
                .Borders(j).Color = wdColorAutomatic
            Next j
        End With
    Next i
End With
End Sub

Gracias.


Ajouté :

Notez que le document comporte des <hr> à l'intérieur, et cet élément arrête la macro (il ne peut pas appliquer ces paramètres à l'élément <hr> ). La macro doit donc sélectionner uniquement les images.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X