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 renvoie toutes les formes en ligne dans un bloc de texte, y compris celles qui sont en dépassement.
  • L’utilisation de TextFrame.TextRange.InlineShapes renvoie uniquement les formes en ligne visibles dans un bloc de texte, et non celles qui sont en dépassement.

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

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 retourner une forme unique en ligne.

Utilisez la méthode Shapes.Range pour retourner 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.