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.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour