Objet CatalogMergeShapes (Publisher)

Représente les formes contenues dans la zone de fusion de catalogue de la composition spécifiée.

Remarques

La zone de fusion de catalogue est automatiquement redimensionnée pour s’adapter aux objets dont la taille est plus importante que celle de la zone de fusion de catalogue, ou qui sont positionnés en dehors de cette zone lors de leur ajout.

Les formes situées à l'intérieur de la zone de fusion de catalogue sont automatiquement redimensionnées ou repositionnées si la taille de la zone de fusion de catalogue est réduite ou qu'elle est déplacée.

La zone de fusion de catalogue peut contenir des champs de données image et texte que vous avez insérés en plus des autres éléments de conception que vous choisissez.

Utilisez la propriété CatalogMergeItems des objets Shape ou ShapeRange pour renvoyer le contenu de la zone de fusion de catalogue.

Utilisez la méthode AddToCatalogMergeArea des objets Shape ou ShapeRange pour ajouter des formes à une zone de fusion de catalogue.

Utilisez CatalogMergeItems (index), où index est le numéro d’index, pour renvoyer une seule forme de zone de fusion de catalogue.

Utilisez la méthode RemoveFromCatalogMergeArea des objets Shape ou ShapeRange afin de supprimer des formes d'une zone de fusion de catalogue. Les formes effacées ne sont pas supprimées, mais elles sont placées sur la page de la composition contenant la zone de fusion de catalogue.

Exemple

L'exemple suivant montre comment vérifier si la composition spécifiée contient une zone de fusion de catalogue. Si c’est le cas, elle renvoie la liste des formes qu’elle contient.

Sub ListCatalogMergeAreaContents() 
 
 Dim pgPage As Page 
 Dim mmLoop As Shape 
 Dim intCount As Integer 
 
 For Each pgPage In ThisDocument.Pages 
 For Each mmLoop In pgPage.Shapes 
 
 If mmLoop.Type = pbCatalogMergeArea Then 
 
 With mmLoop.CatalogMergeItems 
 For intCount = 1 To .Count 
 Debug.Print "Shape ID: " & _ 
 mmLoop.CatalogMergeItems.Item(intCount).ID 
 Debug.Print "Shape Name: " & _ 
 mmLoop.CatalogMergeItems.Item(intCount).Name 
 Next 
 End With 
 
 End If 
 
 Next mmLoop 
 Next pgPage 
 
End Sub 


L'exemple ci-après ajoute un rectangle à la zone de fusion dans la composition spécifiée. Cet exemple suppose qu’une zone de fusion de catalogue a été ajoutée à la première page de la composition.

ThisDocument.Pages(1).Shapes.AddShape(1, 80, 75, 450, 125).AddToCatalogMergeArea

L'exemple suivant supprime la première forme de la zone de fusion de catalogue.

ThisDocument.Pages(1).Shapes(1).CatalogMergeItems(1).RemoveFromCatalogMergeArea

L'exemple suivant montre comment vérifier si la composition spécifiée contient une zone de fusion de catalogue. Si c'est le cas, toutes les formes sont effacées de la zone de fusion de catalogue et supprimées, et la zone de fusion de catalogue est ensuite supprimée de la composition.

Sub DeleteCatalogMergeAreaAndAllShapesWithin() 
 Dim pgPage As Page 
 Dim mmLoop As Shape 
 Dim intCount As Integer 
 Dim strName As String 
 
 For Each pgPage In ThisDocument.Pages 
 For Each mmLoop In pgPage.Shapes 
 
 If mmLoop.Type = pbCatalogMergeArea Then 
 With mmLoop.CatalogMergeItems 
 For intCount = .Count To 1 Step -1 
 strName = mmLoop.CatalogMergeItems.Item(intCount).Name 
 .Item(intCount).RemoveFromCatalogMergeArea 
 pgPage.Shapes(strName).Delete 
 Next 
 End With 
 mmLoop.RemoveCatalogMergeArea 
 End If 
 
 Next mmLoop 
 Next pgPage 
 
 End Sub 

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.