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

Форум по вопросам применения и программирования в Visio
Текущее время: 29 мар 2024, 05:44

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


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


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !

Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: Изменение расположения фигуры в группе
СообщениеДобавлено: 06 ноя 2014, 18:02 
Не в сети

Зарегистрирован: 24 июл 2013, 17:11
Сообщений: 15
Откуда: Санкт-Петербург
Использую Visio c: 2013
Отрасль: САПР
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Добрый день!
Подскажите, пожалуйста, можно ли по свойству (Shape Data) группы переместить фигуру в группе на передний или задний план? Что нибудь вроде:
IF(Sheet.1!Prop.Plan=TRUE,SETF(GETREF(Какая-то ячейка отвечающая за расположение фигуры в группе),...
Спасибо


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 06 ноя 2014, 18:27 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
думаю в шейпшите это невозможно

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 06 ноя 2014, 19:14 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
PS можно сделать такое извращенское решение:
1. создать необходимое количество подгрупп со всеми возможными случаями чередования шейпов, все группы упакованы в главную группу
2. разнести эти группы по разным слоям
3. каждый шейп входящий в подгруппу должен входить с ним в один слой. т.е. в шейпшите в ячейке принадлежности слоя каждого шейпа входящего в
подгруппу должно быть прописано
LayerMembership
=GUARD(Sheet.10!LayerMember)
где sheet.10 - имя подгруппы
т.к. по умолчанию секции LayerMembership у шейпа нет, то ее нужно не забыть добавить !
4. в зависимости от свойств главной группы можно скрывать ненужные слои
user.selector
=IF(Prop.selector=FALSE,SETF(GetRef(ThePage!Layers.Visible[2]),FALSE)+SETF(GetRef(ThePage!Layers.Visible),TRUE),SETF(GetRef(ThePage!Layers.Visible),FALSE)+SETF(GetRef(ThePage!Layers.Visible[2]),TRUE))

но это дичайший hardcore Изображение
Вложение:
Комментарий к файлу: примитивный пример
.vsd [77 Кб]
Скачиваний: 157

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 06 ноя 2014, 20:14 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
думаю в шейпшите это невозможно

А точно?
Вот, например, если в ячейке Scratch члена группы написать такую формулу:
Код:
=DEPENDSON(Prop.Property1)+DoCmd(1046)

а потом менять ShapeData этого члена, то он выскакивает наверх.
Вроде бы почти то, что нужно...
Осталось только приспособить связь между свойством группы и нужным членом группы. Что-нибудь со StrSame плюс фильтр, чтобы отключаемый шейп не мешался, а то ведь меняться всегда будут два шейпа.
Или менять значение по счетчику. Типа, "узнал себя, увеличь свой счетчик".


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 06 ноя 2014, 20:20 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Геннадий, вы правы ! совсем забыл про DOCMD Изображение

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 06 ноя 2014, 22:07 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
Геннадий, вы правы !

А точно? :)
Кажется, исходная задача не решается.
Дело в том, что DoCmd(1046) тянет наверх селектированный шейп. В первом примере все нормально: селектировали, изменили свойство - сработало.
А при попытке менять свойство группы сразу же возникают проблемы. Не уверен, что они разрешатся.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 06 ноя 2014, 22:24 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Tumanov писал(а):
А точно? :)
тогда только hardcore

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 06 ноя 2014, 22:51 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Но вообще, в попытках сделать все только на формулах есть что-то неправильное. Пользоваться надо тем, чем удобнее.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 07 ноя 2014, 00:03 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Оффтоп:
Когда к нам в контору в 2006 году пришел легендарный Digitall™, мои познания в шейпшите были весьма скромны. Ему удалось убедить меня, что макросы это дико опасно, и я около 4 лет не пытался даже разобраться с ними :)

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 07 ноя 2014, 02:46 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 963
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100614

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
Когда к нам в контору в 2006 году пришел легендарный Digitall™, мои познания в шейпшите были весьма скромны. Ему удалось убедить меня, что макросы это дико опасно, и я около 4 лет не пытался даже разобраться с ними :)
Ну как, классика кун-фу :D
Цитата:
Сначала ты не знаешь, что нельзя делать то-то
Потом знаешь, что нельзя делать то-то
Потом ты понимаешь, что иногда таки можно делать то-то
Ну а потом ты понимаешь, что помимо того-то существует еще шестьдесять шесть способов добиться желаемого, и все из них практически равноправны.
Когда тебя спрашивают "как мне добиться желаемого", ты быстро перебираешь в уме эти шестьдесять шесть способов, прикидываешь то общее, что в них есть, вздыхаешь и говоришь: "вообще-то, главное — гармония."
На вопрос обиженных учеников: "а как ее добиться?", ты говоришь: "никогда не делайте то-то".
(c)

_________________
Полезные инструменты для создания диаграмм Visio:
https://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 07 ноя 2014, 11:52 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
мой путь как делать то, чего нельзя…
1. в класс ThisDocument добавить код
Код:
Sub kunfu(shpObj As Visio.Shape, i As Integer)
Set sh = shpObj.Shapes(i)
sh.BringForward
End Sub
2. Открыть шейпшит группового шейпа, добавить секцию User-defined cells, в ячейке User.Row_1 написать
User.Row_1
=IF(Prop.Row_1=FALSE,CALLTHIS("ThisDocument.kunfu",,1),CALLTHIS("ThisDocument.kunfu",,2))

примерчик прицепляю
Вложение:
Комментарий к файлу: один из 66 путей
Kunfu_classic.vsd [19 Кб]
Скачиваний: 152

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 07 ноя 2014, 12:26 
Не в сети

Зарегистрирован: 24 июл 2013, 17:11
Сообщений: 15
Откуда: Санкт-Петербург
Использую Visio c: 2013
Отрасль: САПР
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Спасибо за ответы!
Tumanov писал(а):
Цитата:
Геннадий, вы правы !
А точно? :)
Кажется, исходная задача не решается.
Дело в том, что DoCmd(1046) тянет наверх селектированный шейп. В первом примере все нормально: селектировали, изменили свойство - сработало.
А при попытке менять свойство группы сразу же возникают проблемы. Не уверен, что они разрешатся.
Действительно, если менять свойство связанной через DEPENDSON у фигуры внутри группы вручную через данные фигуры, все получается, и фигура вылезает наверх внутри группы. Но если, менять свойство фигуры через формулы связанные со свойством всей группы, оно менятется но DoCmd не отрабатывает.
Surrogate писал(а):
мой путь как делать то, чего нельзя…
Хочется решить задачу все же только через ShapeSheet.

Тогда возникает другой вопрос. Можно ли внутрь группы добавить еще одну фигуру. Так как задача в том, чтобы исправить один уже существующий шейп, то добавление внутрь него еще одной фигуры легко решило бы вопрос.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 07 ноя 2014, 13:56 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Skivv писал(а):
Можно ли внутрь группы добавить еще одну фигуру.
щелчок правой кнопкой мыши, Группировать->Открыть группу
Изображение
попадаешь внутрь группы и делай там что хочешь: хочешь рисуй заново, хочешь вставляй

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 07 ноя 2014, 14:20 
Не в сети

Зарегистрирован: 24 июл 2013, 17:11
Сообщений: 15
Откуда: Санкт-Петербург
Использую Visio c: 2013
Отрасль: САПР
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
попадаешь внутрь группы и делай там что хочешь: хочешь рисуй заново, хочешь вставляй
Вот, то что нужно! Это полностью решило мою проблему.
И вообще, сюдя по всему, многие мои сложности решатся просто. Как я раньше не знал о таком способе?!

Большое спасибо!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение расположения фигуры в группе
СообщениеДобавлено: 07 ноя 2014, 14:43 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Skivv писал(а):
Вот, то что нужно! Это полностью решило мою проблему.
так просто ?
оказалось, что hardcore со слоями и классический стиль кунфу с макросом ни к чему Изображение
можешь хоть скриншоты выложить, над чем мы бились ?

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


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

Зарегистрирован: 24 июл 2013, 17:11
Сообщений: 15
Откуда: Санкт-Петербург
Использую Visio c: 2013
Отрасль: САПР
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Боюсь по скриншоту мало что понятно будет, попробую рассказать на словах:
Оказалось что в одном давно созданном шейпе не хватало одной линии, Я ее дорисовал через добавление раздела Geometry в одну из фигур группы шейпа, которая была изначально на заднем плане в группе. В одном из случаев в зависимости от свойств шейпа эта линия должна была выходить на передний план, в других (как и вся фигура), скрываться на заднем плане.
Так что вопрос решился дейтсвительно просто, добавлением еще одной линии в фигуру и скрывая ее геометрию (Geometry.NoShown).


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

Зарегистрирован: 24 июл 2013, 17:11
Сообщений: 15
Откуда: Санкт-Петербург
Использую Visio c: 2013
Отрасль: САПР
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
А:
Surrogate писал(а):
hardcore со слоями и классический стиль кунфу с макросом
я думаю весьма пригодятся для других случаев ))


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

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



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

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


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

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