Метод Page.CreateSelection (Visio)
Создает различные типы объектов Selection .
Синтаксис
выражение. CreateSelection
( _SelType_
, _IterationMode_
, _[Data]_
)
Выражение Переменная, представляющая объект Page .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
SelType | Обязательный | VisSelectionTypes | Тип выделения. Возможные значения см. в разделе Примечания. |
IterationMode | Необязательный | VisSelectMode | Используемый режим выбора. Возможные значения см. в разделе Примечания. |
Data | Необязательный | Variant | Тип объекта, соответствующий аргументу SelType . Возможные значения см. в разделе Примечания. |
Возвращаемое значение
Selection
Замечания
Метод CreateSelection позволяет создавать сложные выборки программным способом. Таким образом, вместо того, чтобы выбирать все фигуры на странице, например, можно выбрать только те, которые имеются на заданном слое, или только те, которые основаны на определенной master.
Вызов метода CreateSelection с SelType , равным visSelTypeByType или visSelTypeByLayer , эквивалентен выбору параметров в диалоговом окне Выбор по Типу (щелкните Выбрать в группе Редактирование на вкладке Главная , а затем щелкните Выбрать по типу).
Аргумент SelType должен быть одним из следующих значений, объявленных в VisSelectionTypes в библиотеке типов Visio.
Константа | Значение | Описание |
---|---|---|
visSelTypeAll | 1 | Выделение, которое изначально содержит все фигуры. |
visSelTypeByDataGraphic | 6 | Выделение, которое изначально содержит все фигуры с заданным типом рисунка данных. |
visSelTypeByLayer | 3 | Выделение, которое изначально содержит все фигуры заданного слоя. |
visSelTypeByMaster | 5 | Выделение, которое изначально содержит все экземпляры фигур заданного master. |
visSelTypeByRole | 7 | Выбор, который изначально содержит все фигуры данной роли. |
visSelTypeByType | 4 | Выделение, которое изначально содержит все фигуры заданного типа. |
visSelTypeEmpty | 0 | Выделение, которое изначально не содержит фигур. |
visSelTypeSingle | 2 | Выделение, которое изначально содержит одну фигуру. |
Необязательный аргумент IterationMode должен быть одним из следующих значений, объявленных в VisSelectMode в библиотеке типов Visio. Значение по умолчанию — visSelModeSkipSuper.
Константа | Значение | Описание |
---|---|---|
visSelModeOnlySub | &H0800 | Выделение сообщает только о вложенных выбранных фигурах. |
visSelModeOnlySuper | &H0200 | Выделение сообщает только о замене выбранных фигур. |
visSelModeSkipSub | &H0400 | Выделение не сообщает о выделенных фигурах. |
visSelModeSkipSuper | &H0100 | Выделение не сообщает о заменяемых фигурах. |
Необязательный аргумент Data должен быть объектом, соответствующим типу объекта, заданному SelType. Например, если вы хотите выбрать все образцы определенного типа, данные должны иметь тип Master. Если вы хотите выбрать все фигуры на определенном слое, данные должны иметь тип Layer.
Если SelType имеет значение visSelTypeByRole, data должен быть членом перечисления VisRoleSelectionTypes .
Если аргумент SelType имеет значение visSelTypeByType, возможные значения Data должны быть одним из следующих значений, которые объявлены в VisTypeSelectionTypes в библиотеке типов Visio.
Константа | Значение | Описание |
---|---|---|
visTypeSelBitmap | 16 | Фигура, которая является растровым изображением. |
visTypeSelGroup | 1 | Фигура, содержащая другие фигуры. |
visTypeSelGuide | 4 | Фигура, которая является направляющей. |
visTypeSelInk | 32 | Фигура, которая является рукописным. |
visTypeSelMetafile | 8 | Фигура, которая является метафайлом. |
visTypeSelOLE | 64 | Фигура, которая является связанной, внедренной или элементом управления. |
visTypeSelShape | 2 | Собственная фигура Visio. |
Пример
В этом макросе Microsoft Visual Basic для приложений (VBA) показано, как использовать метод CreateSelection для выбора всех фигур на определенном слое. Перед выполнением этого макроса создайте в документе два слоя: один с именем "a" и один с именем "b", и добавьте фигуры в оба слоя.
Public Sub CreateSelection_Layer_Example()
Dim vsoLayer As Visio.Layer
Dim vsoSelection As Visio.Selection
Set vsoLayer = ActivePage.Layers.ItemU("a")
Set vsoSelection = ActivePage.CreateSelection(visSelTypeByLayer, visSelModeSkipSuper, vsoLayer)
Application.ActiveWindow.Selection = vsoSelection
End Sub
В этом макросе VBA показано, как использовать метод CreateSelection для выбора определенной фигуры на странице документа. Перед выполнением этого макроса откройте набор основных фигур .
Public Sub CreateSelection_Page_Example()
Dim vsoSelection As Visio.Selection
Dim vsoShape As Visio.Shape
Application.ActiveWindow.Page.Drop Application.Documents("BASIC_U.VSS").Masters.ItemU("Rectangle"), 2, 9
Application.ActiveWindow.Page.Drop Application.Documents("BASIC_U.VSS").Masters.ItemU("Rectangle"), 5, 9
Application.ActiveWindow.Page.Drop Application.Documents("BASIC_U.VSS").Masters.ItemU("Rectangle"), 2, 7
Set vsoShape = ActivePage.Shapes(2)
Set vsoSelection = ActivePage.CreateSelection(visSelTypeSingle, visSelModeSkipSuper, vsoShape)
Application.ActiveWindow.Selection = vsoSelection
Debug.Print vsoShape.Name
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.