Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 21 авг 2017, 15:58

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)



Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Отображение каждой линии от точки А до точки Б
СообщениеДобавлено: 11 май 2017, 17:35 
Не в сети

Зарегистрирован: 10 май 2017, 18:53
Сообщений: 14
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Гость писал(а):
Surrogate, зачем ставите не выполнимые задачи перед новичками Изображение ???
Access.ka, в процедуре appVisio_SelectionChanged нужно добавить цикл который покрасит черным выделенный ранее слой (строки 3-5 в нижеприведенном коде)
Спойлер: показать
Код:
Private Sub appVisio_SelectionChanged(ByVal Window As IVWindow)
Dim sh As Visio.Shape, Layer As Visio.Layer, iLayer As Integer
For Each Layer In ActivePage.Layers
Layer.CellsC(visLayerColor).FormulaU = "255"
Next
With ActiveWindow.Selection
    If .Count > 0 Then
        If .PrimaryItem.Name Like "Динамическая*" Then
            iLayer = .PrimaryItem.Cells("LayerMember").Result("")
            ActivePage.Layers.Item(iLayer).CellsC(visLayerColor).FormulaU = "RGB(255,0,0)"
        End If
    Else
        For Each Layer In ActivePage.Layers
            Layer.CellsC(visLayerColor).FormulaU = "255"
        Next
    End If
End With

End Sub
Спасибо, проработаю.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Отображение каждой линии от точки А до точки Б
СообщениеДобавлено: 12 май 2017, 00:06 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 428
Использую Visio c: 2008
Очков репутации: 97

Добавить очки репутацииУменьшить очки репутации
В коде который я набросал на скорую руку есть неявная ошибка. Правильно вот так:
(И коннекторы должны принадлежать только 1 слою, а не нескольким)

Код:
Private Sub appVisio_SelectionChanged(ByVal Window As IVWindow)
Dim sh As Visio.Shape, Layer As Visio.Layer

GoSub LayerColorDefault

With Window.Selection
    If .Count > 0 Then
        If .PrimaryItem.Name Like "Динамическая*" Then
            If .PrimaryItem.LayerCount <> 0 Then
                Set Layer = .PrimaryItem.Layer(1)
                ActivePage.Layers.Item(Layer.Index).CellsC(visLayerColor).FormulaU = "RGB(255,0,0)"
            End If
        End If
    Else
        GoSub LayerColorDefault
    End If
End With

Exit Sub

LayerColorDefault:
    For Each Layer In ActivePage.Layers
        Layer.CellsC(visLayerColor).FormulaU = "255"
    Next
Return
End Sub


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB