Selection d'images dans document word

Selection d'images dans document word - VB/VBA/VBS - Programmation

Marsh Posté le 28-05-2010 à 09:40:33    

Bonjour,
je recherche via une macro, la méthode pour pouvoir sélectionner dans un document Word l'ensemble des images.
 
Merci de votre aide

Reply

Marsh Posté le 28-05-2010 à 09:40:33   

Reply

Marsh Posté le 28-05-2010 à 10:12:14    

Déjà sans macro, est-que vous y arrivez ? Moi pas.
 
Le principe de la selection est lié au presse-papier (zone de mémoire commune qui permet le copier coller). Or, sauf exceptionnelement peut-être, on ne fait du copier/coller que d'une seule image à la fois.

Reply

Marsh Posté le 28-05-2010 à 10:38:18    

Effectivement, impossible
L'objectif est de redimension chaque image dans un document word.
Ne peut'on pas sélectionner la première image, la dimensionner puis passer à la seconde image, et ainsi de suite ?
 
Merci

Reply

Marsh Posté le 28-05-2010 à 12:34:49    

Hello...
 
Oula ca raconte un peu n'importe quoi la... :p
 
Pour selectionner une image suffit de faire reference aux objets InlineShape et ensuite de determiner si c'est une image liée, une image integrée, un dessin, une ligne etc.
Pour cela on utilise la propriété Type, et pour une image integrée elle doit renvoyer wdInlineShapePicture
 
Ce qui donnerait :

Code :
  1. Sub Images()
  2. Dim Image As InlineShape
  3.     For Each Image In ActiveDocument.InlineShapes
  4.         If Image.Type = wdInlineShapePicture Then
  5.             'on regle la largeur
  6.             Image.Width = 200
  7.            
  8.             'on regle la hauteur
  9.             Image.Height = 100
  10.         End If
  11.     Next
  12.    
  13. End Sub


 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 28-05-2010 à 13:01:11    

Merci
je vais tester cala

Reply

Marsh Posté le 31-05-2010 à 10:09:28    

Bonjour,
j'ai modifié la macro pour qu'il sélectionne chaque image à compresser mais j'ai une erreur sur cette ligne :
 "Selection.InlineShapes(1).Fill.Visible = msoFalse"
 
 
Sub Images()
 
Dim Image As InlineShape
 
    For Each Image In ActiveDocument.InlineShapes
        If Image.Type = wdInlineShapePicture Then
 
'ici, je détermine la compression de l'image
    Selection.InlineShapes(1).Fill.Visible = msoFalse
    Selection.InlineShapes(1).Fill.Solid
    Selection.InlineShapes(1).Fill.Transparency = 0#
    Selection.InlineShapes(1).Line.Weight = 0.75
    Selection.InlineShapes(1).Line.Transparency = 0#
    Selection.InlineShapes(1).Line.Visible = msoFalse
    Selection.InlineShapes(1).LockAspectRatio = msoTrue
    Selection.InlineShapes(1).Height = 141.75
    Selection.InlineShapes(1).Width = 174.05
    Selection.InlineShapes(1).PictureFormat.Brightness = 0.5
    Selection.InlineShapes(1).PictureFormat.Contrast = 0.5
    Selection.InlineShapes(1).PictureFormat.ColorType = msoPictureAutomatic
    Selection.InlineShapes(1).PictureFormat.CropLeft = 0#
    Selection.InlineShapes(1).PictureFormat.CropRight = 0#
    Selection.InlineShapes(1).PictureFormat.CropTop = 0#
    Selection.InlineShapes(1).PictureFormat.CropBottom = 0#
 
        End If
    Next
   
End Sub
 
Merci de votre aide

Reply

Marsh Posté le 31-05-2010 à 11:28:17    

Pourquoi utiliser ceci Selection.InlineShapes(1).
Si tu declares Image comme ActiveDocument.InlineShapes pas besoin de faire comme ca..
Un simple Image.Fill.Visible = msoFalse suffit...


Message édité par SuppotDeSaTante le 31-05-2010 à 11:28:40

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 31-05-2010 à 13:13:00    

ok merci je vais tester étant novice avec les macros

Reply

Marsh Posté le 31-05-2010 à 15:13:17    

Pas de souci, mais precise que tu es novice... J'aurais mieux expliqué...


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed