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

Форум по вопросам применения и программирования в Visio
Текущее время: 10 дек 2018, 09:21

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 27 авг 2018, 14:50 
Добрый день!
Пытаюсь изобразить схему электрических соединений объекта в Visio 2007, используя набор базовых фигур.
Visio позволяет правой кнопкой мыши менять отображение фигур (замкнутая и разомкнутая сеть), но необходимо, чтобы при изменении отображения фигуры менялся её цвет.
Пытался задать изменение цвета в таблице свойств фигуры "LineColor" в зависимости от параметра "Scratch.A1", но всё безуспешно (Формулу забивал: =IF(Scratch.A1=1,THEMEGUARD(RGB(255,0,0)),THEMEGUARD(RGB(0,0,0))) ).
Может кто знает, как это сделать.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 27 авг 2018, 15:06 
Недавно была тема про изменение учета линии


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 27 авг 2018, 15:34 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1208
Очков репутации: 100589

Добавить очки репутацииУменьшить очки репутации
Насколько я помню, в той теме обсуждалась проблема со связкой Index и RGB. То есть несколько другая проблема.
В данном случае никакой индексации списков не наблюдается. Приведенная выше формула должна работать.
(Я уж не говорю, что я ее сейчас к себе скопировал и она работает).
Возможно, делов чем-то еще...
black_dragon, что значит у Вас "набор базовых фигур"? Откуда он берется? Вы пишете формулу в копию шейпа на странице рисунка или в мастер-шейп?
Какая версия Visio?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 27 авг 2018, 17:13 
Tumanov писал(а):
в той теме обсуждалась проблема со связкой Index и RGB.
да, но я привел эту тему в пример в виду того что в некоторых версиях в ячейке LineColor не работают связки RGB ни с Index, ни с IF. только RGB в чистом виде.
помогает только задание формулы в эту ячейку с использованием SETF из сторонней ячейки!


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 27 авг 2018, 17:21 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1208
Очков репутации: 100589

Добавить очки репутацииУменьшить очки репутации
Ну вот, хоть убей, не верю!
Я бы еще понял, если не работало If(Scratch.A1=RGB(...
Но ведь в данном случае сравнивается с единицей. Чему тут не работать?!
У любой ошибки должно быть хоть какое-то обоснование. Типа, "вот эта функция может обогнать вот эту" или "вот здесь можно не учесть переполнения". Здесь же я пока не представляю механизма ошибки.
Нужно бы пример в студию.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 27 авг 2018, 17:32 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1208
Очков репутации: 100589

Добавить очки репутацииУменьшить очки репутации
Хотя... Может что-то происходит при переводе в индексы...
Ведь на самом деле значение в ячейке FillColor, LineColor и т.д. - это именно индекс.
Но тогда нужно вообще по-возможности отказываться от RGB и использовать индексы. Уж это точно будет надежно.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 28 авг 2018, 07:49 
Tumanov писал(а):
Насколько я помню, в той теме обсуждалась проблема со связкой Index и RGB. То есть несколько другая проблема.
В данном случае никакой индексации списков не наблюдается. Приведенная выше формула должна работать.
(Я уж не говорю, что я ее сейчас к себе скопировал и она работает).
Возможно, делов чем-то еще...
black_dragon, что значит у Вас "набор базовых фигур"? Откуда он берется? Вы пишете формулу в копию шейпа на странице рисунка или в мастер-шейп?
Какая версия Visio?



Изображение
Базовые фигуры беру из соответствующего окна слева. Формулу пишу в копию шейпа на странице рисунка, наверное (открывая свойство конкретного рисунка).
Версия Visio 2007 (12.0.6606.1000) SP3 MSO (12.0.6662.5000)


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 28 авг 2018, 08:53 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1208
Очков репутации: 100589

Добавить очки репутацииУменьшить очки репутации
Ну вот, кажется и причина ясна.
Ваш шейп является группой.
И Вы пытаетесь управлять цветом линии группы через шейп-лист. Естественно, это не получается, потому как у группы нет линий.
В данном случае нужно управлять цветом линий шейпов, входящих в группу. То есть вписывать уже несколько одинаковых формул, ссылающихся из входящего шейпа на ячейку Scratch группы.
Когда Вы делаете схожую операцию через пользовательский интерфейс, то Visio автоматически распространяет цвет на входящие шейпы. Но в VBA этого не происходит. Сказали "изменить цвет группы", он и изменился. Но не более. Цвет входищих надо изменять дополнительно.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 28 авг 2018, 08:57 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 1208
Очков репутации: 100589

Добавить очки репутацииУменьшить очки репутации
У меня нет такого трафарета. Если у Вас вызывает затруднение сказанное выше, то выложите документ Visio с одним таким шейпом. Я посмотрю структуру и добавлю в шейп нужные формулы. Для образца.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 28 авг 2018, 09:14 
Гость писал(а):
Базовые фигуры беру из соответствующего окна слева.
это и есть тот самый GOST Electro for Visio


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Смена цвета базовой фигуры при изменении её отображения
СообщениеДобавлено: 28 авг 2018, 11:54 
Tumanov писал(а):
Ну вот, кажется и причина ясна.
Ваш шейп является группой.
И Вы пытаетесь управлять цветом линии группы через шейп-лист. Естественно, это не получается, потому как у группы нет линий.
В данном случае нужно управлять цветом линий шейпов, входящих в группу. То есть вписывать уже несколько одинаковых формул, ссылающихся из входящего шейпа на ячейку Scratch группы.
Когда Вы делаете схожую операцию через пользовательский интерфейс, то Visio автоматически распространяет цвет на входящие шейпы. Но в VBA этого не происходит. Сказали "изменить цвет группы", он и изменился. Но не более. Цвет входищих надо изменять дополнительно.



Спасибо огромное за разъяснение! Всё заработало!!


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

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



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

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


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

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