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

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

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


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


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

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



Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 26 фев 2014, 11:39 
Не в сети
Content manager
Content manager
Аватара пользователя

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

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


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

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

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 26 фев 2014, 16:16 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

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

Кстати да, тоже обратил внимание на это поле, я так понял, что шейп отвечающий за тескт в контейнере, должен иметь в этом поле "heading". И в связи с этим вопрос. Выше по теме упоминали функцию conteinersheetref, данная ф возвращает ссылку на контейнер, в котором фигура находится. А тут по идее нужна функция работающая наоборот: что бы возвращала ссылку на фигуру, хранящиеся в контейнере. Посмотрел в списке ф-ий, не нашел такую.


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

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

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 27 фев 2014, 04:08 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
posix86749 писал(а):
А тут по идее нужна функция работающая наоборот: что бы возвращала ссылку на фигуру, хранящиеся в контейнере. Посмотрел в списке ф-ий, не нашел такую.
Но ведь таких фигур НЕ ОДНА !

Да я понимаю это, поэтому, собственно, и не надеялся найти такую формулу:) но проверить то надо было)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 27 фев 2014, 04:21 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Коллеги, дело движется к развязке:)
Много полезного мне подсказали, но появляются новые вопросы.
Вот еще один
В преложенных вариантах для вывода данных в заголовок контейнер мы эти данные передаем в Text Fields встроенного шепа (Heading) через формулу Sheet.6!Prop.data.
Я заметил, что ID Heading шейпа всегда на 3 меньше ID самого контейнера. Поэтому для создания более универсальной формулы напрашивается Sheet.(ID()-3)!Prop.data.
Но видать в записи Shape.n нельзя n заменить на формулу.
Как можно это реализовать? Я пробовал сначала создать User-defined cell user.id_cont=ID()-3, а потом в Text Fields вставить запись вида: shape.user.id_cont!prop.data. Выдает ошибку в формуле.ContainerSheetRef() здесь поможет, так как встроенные шейпы как бы и вложены в контейнер, но судя по полю "Relationsheeps", а оно пустое, вроде и не вложены.
Опять же, сталкиваемся с тем, что контейнер - это "вещь в себе"


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
posix86749 писал(а):
Но видать в записи Shape.n нельзя n заменить на формулу.
Как можно это реализовать? Я пробовал сначала создать User-defined cell user.id_cont=ID()-3, а потом в Text Fields вставить запись вида: shape.user.id_cont!prop.data. Выдает ошибку в формуле.
за раз не получится ! посмотри внимательно на картинку которую я прикладывал.
1. у меня в секции user.defined cells, в столбце prompt формируем ссылку на адрес ячейки User.msvStructureType некой фигуры
2. у меня в секции user.defined cells, в столбце value происходит передача значения из ячейки адрес которой получили в п. 1 в секцию shape data, в столбец value
posix86749 писал(а):
Я заметил, что ID Heading шейпа всегда на 3 меньше ID самого контейнера. Поэтому для создания более универсальной формулы напрашивается Sheet.(ID()-3)!Prop.data.
Tumanov писал(а):
11 фев 2014, 19:52P.S. Смотрел в Visio 2013. Такое впечатление, что порядок создания внутренних шейпов в нем другой. Поэтому шейп заголовка в моем случае имел идентификатор 6, а не 4. (На 3 больше контейнера, а не на 1). То есть ориентироваться лучше не по идентификатору, а именно по назначению (заголовок).
nbelyh писал, что разница зависит от версии визио и стиля контенера, а также предупреждал, что если поменяешь стиль контейнера то ID шейпа заголовка может измениться !!!
nbelyh писал(а):
25 фев 2014, 18:30
Контейнер может в принципе полностью перестраивать свою вутреннюю структору, в зависимости от выбранного "стиля" (особенно хорошо это видно в Visio 2013)
То есть, если ты изменишь "стиль" контейнера все составляющие саб-шейпы могут быть попросту удалены и другие созданы заново.
Поэтому возможно, что писать формулы во внутренних шейпах опасно

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 28 фев 2014, 03:20 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
posix86749 писал(а):
Но видать в записи Shape.n нельзя n заменить на формулу.
Как можно это реализовать? Я пробовал сначала создать User-defined cell user.id_cont=ID()-3, а потом в Text Fields вставить запись вида: shape.user.id_cont!prop.data. Выдает ошибку в формуле.
за раз не получится ! посмотри внимательно на картинку которую я прикладывал.
1. у меня в секции user.defined cells, в столбце prompt формируем ссылку на адрес ячейки User.msvStructureType некой фигуры
2. у меня в секции user.defined cells, в столбце value происходит передача значения из ячейки адрес которой получили в п. 1 в секцию shape data, в столбец value

Понял, вы просто перебираете фигуры в контейнере, что бы найти фигуру со свойством User.msvStructureType =Heading. Так ведь?
Surrogate писал(а):
posix86749 писал(а):
Я заметил, что ID Heading шейпа всегда на 3 меньше ID самого контейнера. Поэтому для создания более универсальной формулы напрашивается Sheet.(ID()-3)!Prop.data.
Tumanov писал(а):
11 фев 2014, 19:52P.S. Смотрел в Visio 2013. Такое впечатление, что порядок создания внутренних шейпов в нем другой. Поэтому шейп заголовка в моем случае имел идентификатор 6, а не 4. (На 3 больше контейнера, а не на 1). То есть ориентироваться лучше не по идентификатору, а именно по назначению (заголовок).
nbelyh писал, что разница зависит от версии визио и стиля контенера, а также предупреждал, что если поменяешь стиль контейнера то ID шейпа заголовка может измениться !!!
nbelyh писал(а):
25 фев 2014, 18:30
Контейнер может в принципе полностью перестраивать свою вутреннюю структору, в зависимости от выбранного "стиля" (особенно хорошо это видно в Visio 2013)
То есть, если ты изменишь "стиль" контейнера все составляющие саб-шейпы могут быть попросту удалены и другие созданы заново.
Поэтому возможно, что писать формулы во внутренних шейпах опасно

Да это я помню. Но я полагал, что этим можно пренебречь, так как данное решение будет исползоваться сотрудниками IT отдела, а это далеко не простые пользователи ;)
Goldsmith предлагал использовать мастершейп, но только для того что бы нужную формулу раскидать по фигурам в документе. Так же он предлагал использовать SETF функцию, но предупреждал о тех же косяках: сдвиг ID может измениться.


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

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
posix86749 писал(а):
Понял, вы просто перебираете фигуры в контейнере, что бы найти фигуру со свойством User.msvStructureType =Heading. Так ведь?
да
JohnGoldsmith писал(а):
« Reply #6 on: February 27, 2014, 19:26:36 »
For your other containers, the best way would be to try and get the functionality into the container master shape and then Visio will automatically update the ID's in the instance shapes. It sounds to me like you've already edited the instance shapes and so making changes to the master might not work (as some of the sections in the instances will be local). You could have a go and see if they are updated. Another option might be to write a little bit of code to loop through your container shapes and make the changes as required. Or, a third option might be a combination - update the container master and then replace all of the container instances (so that you have properly inheriting shapes).
Как вариант Джон предлагает написать макрос, для отслеживания возможных изменений !

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 28 фев 2014, 08:10 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
если писать макрос, то все это мракобесие с шейпшитом вообще не нужно :mrgreen:


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 28 фев 2014, 08:56 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

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

9rey писал(а):
если писать макрос, то все это мракобесие с шейпшитом вообще не нужно :mrgreen:

Как по мне, так макрос - это более совершенный способ достичь моих целей, за исключением одного: вижуал бэйсика вообще не разумею. Кое-какие познания в C++ есть, но все это было давно и не правда.


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

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

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


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

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


Вложения:
container.vsd [43 Кб]
Скачиваний: 158

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Контейнер и внешние данные
СообщениеДобавлено: 05 мар 2014, 05:42 
Не в сети
Новичок

Зарегистрирован: 29 ноя 2013, 05:43
Сообщений: 49
Использую Visio c: 2004
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
ну или как предлагал Джон - закинуть контейнер в мастер, в нем прописать все как надо - тогда заголовок будет брать значение из свойства (shapedata) контейнера.
вытаскиваешь его на лист и в него тягаешь шейпы, сколько надо
Но если еще и в размещаемые в контейнер шейпы, надо вставлять поля со значениями из shapedata контейнера, то это будет адова порьбаборьба !
у нас такое долгое обсуждение, что я забыл за что мы в итоге боремся Изображение
Я думаю использование мастера дает ответ на мои вопросы по данной теме. Попробовал поиграться создавая "мастер" - контейнеры, работает, меня устраивает, подводных камней пока не выявил))
Поэтому вопрос считаю решенным, переходим к следующему вопросу


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

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



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

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


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

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