Word VBA: Schimbare proprietati imagini

No comments -

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:

<div>Sub ModificaProprietatiImagini()</div>
<div>Dim imagine As InlineShape</div>
<div>On Error Resume Next</div>
<div>For Each imagine In ActiveDocument.InlineShapes</div>
<div>  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</div>
<div>End Sub</div>

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

, ,


  1. No comments yet.
(will not be published)

  1. No trackbacks yet.