Partager via


Objet InlineShapes (Publisher)

Contient une collection d'objets Shape qui représentent des objets dans la couche de dessin, où Shape.IsInline a la valeur True. La collection de formes est limitée aux formes dans une plage de texte donnée.

Remarques

La collection InlineShapes est disponible uniquement sur l’objet TextRange :

  • L’utilisation de TextFrame.Story.TextRange.InlineShapes retourne toutes les formes insérées dans un cadre de texte, y compris celles qui sont en dépassement de capacité.
  • L’utilisation de TextFrame.TextRange.InlineShapes retourne uniquement les formes insérées visibles dans un cadre de texte, et non celles qui sont en dépassement de capacité.

La collection InlineShapes est également accessible à partir de Document.Stories(i). TextRange, où i est l’index de la page active de la composition.

La collection InlineShapes n'est pas disponible dans la collection Page.Shapes, y compris son contenu ShapeRange.

Utilisez la propriété InlineShapes de l’objet TextRange pour renvoyer une collection InlineShapes .

Utilisez la méthode Item (index) pour renvoyer une seule forme insérée.

Utilisez la méthode Shapes.Range pour renvoyer un objet ShapeRange qui contient tous les membres de la collection InlineShapes . Un tableau d'index ou de chaînes ou un index unique ou une chaîne peut être passé en tant que paramètre de la propriété Range pour sélectionner des formes particulières ou une forme dans la plage.

Exemple

L'exemple suivant recherche la première forme, une zone de texte sur la page un de la composition et ajoute du texte à la fin de la plage de texte dans la zone de texte s'il existe plus d'une forme insérée dans la plage de texte.

Dim theShape As Shape 
 
Set theShape = ActiveDocument.Pages(1).Shapes(1) 
 
With theShape.TextFrame.TextRange 
 If .InlineShapes.Count > 1 Then 
 .InsertAfter (" There is more than one inline shape in this text box.") 
 End If 
End With

L'exemple suivant recherche la troisième forme insérée dans une zone de texte et la retourne verticalement.

Dim theShape As Shape 
 
Set theShape = ActiveDocument.Pages(1).Shapes(1) 
 
With theShape.TextFrame.Story.TextRange 
 With .InlineShapes(3) 
 .Flip (msoFlipVertical) 
 End With 
End With

L'exemple suivant définit une variable ShapeRange égale à la collection de formes insérées dans une zone de texte. Chaque forme insérée dans la plage est ensuite modifiée d'une certaine façon. Cet exemple suppose que la première forme de la page est une zone de texte contenant trois formes insérées.

Dim theRange As ShapeRange 
 
Set theRange = ActiveDocument.Pages(1).Shapes(1) _ 
 .TextFrame.Story.TextRange.InlineShapes.Range 
 
With theRange 
 .Item(1).Flip msoFlipVertical 
 .Item(2).MoveOutOfTextFlow 
 .Item(3).Delete 
End With

Méthodes

Propriétés

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.