[ID CS4-CS6] Группировка объектов на VB6

  • Автор темы Автор темы IAMRAT
  • Дата начала Дата начала

IAMRAT

Топикстартер
15 лет на форуме
Сообщения
134
Реакции
1
Подзабылось.
Как сгруппировать все объекты на определенной странице?
 
Вот так получилось. Но мне кажется, что можно и проще.

ASP.net:
Function GroupAll()

Dim idPage As InDesign.Page
Dim idRectangle As InDesign.Rectangle

Dim idObjects As Collection
Dim idObject As Object

Dim idGroup As InDesign.Group
Dim idGroups As InDesign.Groups

Dim i As Long

Set idDoc = idApp.ActiveDocument
    
For Each idPage In idDoc.Pages
    
    If idPage.Rectangles.Count = 0 Then GoTo hNext
    
    Set idObjects = New Collection
    For Each idRectangle In idPage.Rectangles
        idObjects.Add idRectangle
    Next
    
    For Each idObject In idObjects
        If idObject.Index = 1 Then
            idObject.Select idSelectionOptions.idReplaceWith
        Else
            idObject.Select idSelectionOptions.idAddTo
        End If
    Next
    
    idDoc.Groups.Add idDoc.Selection
        
hNext:
Next

End Function
 
Гм, так все обьекты или таки все ректанглы???
 
Код:
Dim idRectangle As InDesign.Rectangle
Это сделано для расширения функционала.
Может мне понадобиться сгруппировать все PDF.
 
Функция может быть такой
Код:
Function GroupAll(Optional ByVal Page As InDesign.Page, Optional ByVal ObjectType As Variant) As Long
 
Function Add(GroupItems As Objects, [Layer], [At As idLocationOptions = idUnknown], [Reference]) As Group
Member of InDesign.Groups
Creates a new Group.
Return value: The new Group.
GroupItems: The objects to group.
Layer: The layer on which to create the Group. Type: Layer.
At: The location at which to insert the Group relative to the reference object or within the container object.
Reference: The reference object. Note: Required when the at parameter is before or after. Type: Document, Spread, MasterSpread, Page, Layer or PageItem

Не работает. Почему не пойму.
Может кто подскажет, как использовать этот метод?
 
Последнее редактирование: