Compartilhar via


Objeto CatalogMergeShapes (Publisher)

Representa as formas contidas na área de mesclagem de catálogos da publicação específica.

Comentários

A área de mesclagem de catálogos é automaticamente redimensionada para acomodar objetos maiores do que a área ou aqueles posicionados fora dessa área ao serem adicionados.

As formas localizadas dentro da área de mesclagem de catálogos são automaticamente redimensionadas ou reposicionadas se a área for reduzida ou movimentada.

A área de mesclagem de catálogo pode conter campos de dados de imagem e texto que você inseriu, além de outros elementos de design escolhidos.

Use a propriedade CatalogMergeItems dos objetos Shape ou ShapeRange para retornar o conteúdo da área de mesclagem do catálogo.

Use o método AddToCatalogMergeArea dos objetos Shape ou ShapeRange para adicionar formas a uma área de mesclagem de catálogos.

Use CatalogMergeItems (index), em que o índice é o número do índice, para retornar uma forma de área de mesclagem de catálogo único.

Use o método RemoveFromCatalogMergeArea dos objetos Shape ou ShapeRange para remover formas de uma área de mesclagem de catálogos. As formas removidas não são excluídas; em vez disso, são colocadas na página da publicação que contém a área de mesclagem de catálogos.

Exemplo

O exemplo abaixo testa se a publicação especificada contém uma área de mesclagem de catálogos. Se isso acontecer, ele retornará uma lista das formas que contém.

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 


O exemplo a seguir adiciona um retângulo à área de mesclagem de catálogos na publicação especificada. Este exemplo pressupõe que uma área de mesclagem de catálogo tenha sido adicionada à primeira página da publicação.

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

O exemplo a seguir remove a primeira forma da área de mesclagem de catálogos.

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

O exemplo abaixo testa se a publicação especificada contém uma área de mesclagem de catálogos. Se positivo, todas as formas são removidas da área de mesclagem de catálogos e excluídas e a área é, então, removida da publicação.

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étodos

Propriedades

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.