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.