Comparez les prix des domaines et des services informatiques des vendeurs du monde entier

Comment choisir une image qui vient d'être insérée dans MS Word par VBA

Simplement insérer l'image dans MS Word à VBA, En utilisant ce qui suit


wordApp.Selection.PasteSpecial DataType:=wdPasteMetafilePicture, Placement:=wdInLine


Je pense à déplacer un caractère à gauche, puis sélectionnez l'objet suivant, mais je ne sais pas comment le faire.

EDIT:

Eh bien, voici quelques développements encoraging, En utilisant la ligne suivante, j'ai pu choisir un paragraphe comprenant une image, mais je ne peux pas les manipuler car elle choisit la gamme. Est-ce que quelqu'un sait comment puis-je réparer l'image à l'intérieur de la sélection?


wordApp.Selection.Expand wdParagraph
Invité:

Constantine

Confirmation de:

C'est ce que j'ai utilisé:


wordApp.Selection.Find.Execute replace:=2
wordApp.Selection.Expand wdParagraph
wordApp.Selection.InlineShapes/1/.Select

Hannah12

Confirmation de:

Je n'ai jamais utilisé VBA à Word, Mais voici une pensée rapide. Si vous insérez l'image dans la chaîne et essayez immédiatement d'obtenir un lien, il devrait être le dernier élément de la collection. InlineShapes. Ce code vous donnera un lien que vous pouvez utiliser:


thisDocument.InlineShapes/thisDocument.InlineShapes.Count/


Par exemple, pour définir la largeur de la dernière image insérée, vous devez utiliser ce qui suit:


thisDocument.InlineShapes/thisDocument.InlineShapes.Count/.Width = 100


Pour garder la figure dans la variable:


Dim pastedImage As InlineShape

Set pastedImage = ThisDocument.InlineShapes/ThisDocument.InlineShapes.Count/

Hannah

Confirmation de:

J'ai aussi fait la même chose. Il semble que après avoir inséré l'image dans word Il est déjà choisi. Vous pouvez simplement utiliser l'objet sélectionné à l'aide d'un code simple ci-dessous:


Selection.InlineShapes/1/.Select

Clement

Confirmation de:

La décision que j'ai trouvée est d'utiliser la propriété "AlternativeText" Pour marquer les figures insérées aussi anciennes, donc chaque fois que la figure n'est pas ancienne, elle devrait être nouvelle.

J'utilise ce qui suit:


Dim pShape as InLineShape' The shape i'm looking for
Dim iShape as InlineShape

For Each iShape In ActiveDocument.InlineShapes
If iShape.AlternativeText = "" Then
Set pShape = iShape
pShape.AlternativeText = "old"
Exit For
End If
Next


Pas très propre mais dans VBA Toujours la même chose.

Gaetan

Confirmation de:

Vous pouvez simplement marquer l'élément à gauche de votre position du curseur:


Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend

Pour répondre aux questions, connectez-vous ou registre