Pentru a modifica proprietatile tuturor imaginilor dintr-un document Word se utilizeaza colectiile Shapes
(pentru obiecte ancorate) si/sau InlineShapes
(pentru obiecte incadrate in paragrafe) accesibile prin intermediul obiectelor de tip Document
(de exemplu prin ActiveDocument
).
Obiectele asociate imaginilor (de tip Shape
si InlineShape
) dispun de proprietatea PictureFormat
prin intermediul careia pot fi modificate propritatile acestora (contrast, luminozitate, tranparenta etc.).
De exemplu, pentru cresterea contrastului cu 40% si scaderea luminozitatii cu 20% se poate utiliza urmatoarea macrodefinitie VBA:
Sub ModificaProprietatiImagini()
Dim imagine As InlineShape
On Error Resume Next
For Each imagine In ActiveDocument.InlineShapes
If imagine.Type = wdInlineShapePicture Or imagine.Type = _
wdInlineShapeEmbeddedOLEObject Then
imagine.PictureFormat.Brightness = imagine.PictureFormat.Brightness - _
imagine.PictureFormat.Brightness * 0.2
imagine.PictureFormat.Contrast = imagine.PictureFormat.Contrast + _
imagine.PictureFormat.Contrast * 0.4
End If
Next
End Sub
Este necesara tratarea erorilor de executie, deoarece pot fi accesate si alte obiecte pentru care proprietatea PictureFormat
nu este disponibila (de exemplu un obiect din colectia InlineShapes
este de tip WordArt).