Word VBA: Schimbare proprietati imagini

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).