Прочитать на английском

Поделиться через


Метод Layer.Add (Visio)

Добавляет объект Shape в объект Layer .

Синтаксис

expression. Add (SheetObject, fPresMems)

Выражение Переменная, представляющая объект Layer .

Параметры

Имя Обязательный или необязательный Тип данных Описание
SheetObject Обязательный [IVSHAPE] Новый объект Shape , добавленный в объект Layer .
fPresMems Обязательный Integer Ноль для удаления вложенных параметров из всех предыдущих назначений слоев; Ненулевое значение для сохранения назначений слоев.

Возвращаемое значение

Отсутствует

Примечания

Если фигура является группой, а fPresMems — ненулевым, фигуры компонентов группы сохраняют свои текущие назначения слоев и также добавляются в этот слой. Если значение fPresMems равно нулю, фигуры компонентов переназначаются этому слою и теряют текущие назначения слоев.

Пример

В следующем примере показано, как использовать метод Add для добавления объектов Shape в объект Layer . Когда объект Shape , добавляемый к объекту Layer , является фигурой группы, используйте аргумент fPresMems метода Add , чтобы указать, сохраняются ли фигуры компонентов группы или теряют свои предыдущие назначения слоев. Если добавляемая фигура не является фигурой группы, аргумент fPresMems не действует, но по-прежнему является обязательным.

В этом примере создаются два новых слоя. Две фигуры прямоугольника рисуются, а затем добавляются в первый слой. Затем прямоугольники группируются в групповую фигуру. Затем фигура группы выбирается и дублируется, а повторяющиеся фигуры групп добавляются на второй слой двумя разными способами.

Назначения слоев фигур компонентов vsoShapeGroup2 сохраняются путем передачи ненулевых значений для аргумента fPresMems метода Add , но предыдущие назначения слоев фигур компонентов vsoShapeGroup1 теряются при передаче нуля в метод Add для этого аргумента. В результате фигуры компонентов vsoShapeGroup1 назначаются только vsoLayer2 , а компоненты vsoShapeGroup2 назначаются как vsoLayer1 , так и vsoLayer2.

Public Sub AddShapesToLayer_Example() 
 
 Dim vsoDocument As Visio.Document 
 Dim vsoPages As Visio.Pages 
 Dim vsoPage As Visio.Page 
 Dim vsoLayers As Visio.Layers 
 Dim vsoLayer1 As Visio.Layer 
 Dim vsoLayer2 As Visio.Layer 
 Dim vsoShape1 As Visio.Shape 
 Dim vsoShape2 As Visio.Shape 
 Dim vsoShapeGroup1 As Visio.Shape 
 Dim vsoShapeGroup2 As Visio.Shape 
 
 'Add a Document object based on the Basic Diagram template. 
 Set vsoDocument = Documents.Add("Basic Diagram.vst") 
 
 'Get the Pages collection and add a page to the collection. 
 Set vsoPages = vsoDocument.Pages 
 Set vsoPage = vsoPages.Add 
 
 'Get the Layers collection and add two layers 
 'to the collection. 
 Set vsoLayers = vsoPage.Layers 
 Set vsoLayer1 = vsoLayers.Add("MyLayer") 
 Set vsoLayer2 = vsoLayers.Add("MySecondLayer") 
 
 'Draw two rectangles. 
 Set vsoShape1 = vsoPage.DrawRectangle(3, 3, 5, 6) 
 Set vsoShape2 = vsoPage.DrawRectangle(4, 4, 6, 7) 
 
 'Assign each rectangle to the first layer. 
 vsoLayer1.Add vsoShape1, 0 
 vsoLayer1.Add vsoShape2, 0 
 
 'Select the two rectangles and group them. 
 ActiveWindow.SelectAll 
 ActiveWindow.Selection.Group 
 
 'Duplicate the group and set each group as a Shape object. 
 Set vsoShapeGroup1 = vsoPage.Shapes(1) 
 vsoShapeGroup1.Duplicate 
 Set vsoShapeGroup2 = vsoPage.Shapes(2) 
 
 'Add the first grouped shape to the second layer. 
 'This group's component shapes are added to the layer 
 'but lose their previous layer assignment. 
 vsoLayer2.Add vsoShapeGroup1, 0 
 
 'Add the second grouped shape to the second layer. 
 'This group's component shapes are added to the layer 
 'but retain their previous layer assignment. 
 vsoLayer2.Add vsoShapeGroup2, 1 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.