CatalogMergeShapes オブジェクト (Publisher)

指定された文書の差し込み印刷領域に含まれる図形を表します。

注釈

差し込み印刷領域は、領域より大きいオブジェクト、または追加したときに領域の外側に挿入されるオブジェクトに合わせて、サイズが自動的に変更されます。

差し込み印刷領域をサイズ変更したり移動したりすると、領域の内側の図形のサイズまたは位置が自動的に変更されます。

差し込み印刷領域には、選択した他のデザイン要素に加えて、挿入した画像とテキストのデータ フィールドを含めることができます。

Shape オブジェクトまたは ShapeRange オブジェクトの CatalogMergeItems プロパティを使用して、差し込み印刷領域の内容を取得します。

差し込み印刷領域に図形を追加するには、 Shape オブジェクトまたは ShapeRange オブジェクトの AddToCatalogMergeArea メソッドを使用します。

単一の差し込み印刷領域図形を返すには、 CatalogMergeItems (index) を使用します。 index はインデックス番号です。

差し込み印刷領域から図形を削除するには、 Shape オブジェクトまたは ShapeRange オブジェクトの RemoveFromCatalogMergeArea メソッドを使用します。 削除された図形は、差し込み印刷領域を含んでいる文書ページ上にそのまま残ります。

次の使用例は、指定された文書に差し込み印刷領域があるか調べます。 その場合は、含まれている図形の一覧が返されます。

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 


次の使用例は、指定された文書の差し込み印刷領域に四角形を追加します。 この例では、文書の最初のページに差し込み印刷領域が追加されていることを前提としています。

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

次の使用例は、差し込み印刷領域から最初の図形を削除します。

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

次の使用例は、指定された文書に差し込み印刷領域があるか調べます。 差し込み印刷領域があれば、差し込み印刷領域からすべての図形を削除し、文書から差し込み印刷領域を削除します。

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 

メソッド

プロパティ

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。