Форум пользователей Visio
http://visio.getbb.ru/

Группированный шейп с полями
http://visio.getbb.ru/viewtopic.php?f=6&t=1000
Страница 3 из 3

Автор:  Shishok [ 19 авг 2016, 12:06 ]
Заголовок сообщения:  Re: Группированный шейп с полями

powercat, чтобы вызвать диалог редактирования данных шейпа при бросании шейпа на лист, надо вставить в ячейку этого шейпа EventDrop формулу "= DOCMD(1213)"

Кстати по поводу "автобусов":
У шейпов есть еще метод .ConnectedShapes. Довольно удобный, если надо просмотреть какие шейпы к исходному подключены. Или к каким сам исходный подключен. Или и то и другое. Только шейпы должны быть обязательно соединены штатными коннекторами.
К тому же этот метод позволяет применять некие фильтры:
Цитата:
Categories are user-defined strings that you can use to categorize shapes and thereby to restrict membership in a container. You can define categories in the User.msvShapeCategories cell in the ShapeSheet for a shape. You can define multiple categories for a shape by separating the categories with semi-colons.

По ссылке есть примеры. Но в примерах ошибка. Нужно вместо строк:
Код:
Debug.Print ActivePage.Shapes(lngShapeIDs(intCount)).Name

подставить строку:
Код:
Debug.Print ActivePage.Shapes.ItemFromID(lngShapeIDs(intCount)).Name
Код:

https://msdn.microsoft.com/en-us/library/office/ff767122.aspx

Автор:  Tumanov [ 19 авг 2016, 12:11 ]
Заголовок сообщения:  Re: Группированный шейп с полями

Цитата:
Кстати по поводу "автобусов": У шейпов есть еще метод .ConnectedShapes

Но надо помнить, что появился он только в Visio 2010.
Тем, кто использует Visio 2007 и ниже, метод не доступен.

Автор:  Surrogate [ 19 авг 2016, 12:14 ]
Заголовок сообщения:  Re: Группированный шейп с полями

Shishok писал(а):
powercat, чтобы вызвать диалог редактирования данных шейпа при бросании шейпа на лист, надо вставить в ячейку этого шейпа EventDrop формулу "= DOCMD(1213)"
заменить на DOCMD(1312)

Автор:  Shishok [ 19 авг 2016, 12:15 ]
Заголовок сообщения:  Re: Группированный шейп с полями

Цитата:
Но надо помнить, что появился он только в Visio 2010.
Тем, кто использует Visio 2007 и ниже, метод не доступен.

Да, точно.

Автор:  powercat [ 19 авг 2016, 12:43 ]
Заголовок сообщения:  Re: Группированный шейп с полями

Tumanov писал(а):
По поводу "пособия по написанию формул" Surrogate собрал кучу ссылок под названием "ShapeSheet: Полезные ссылки"
Благодарю
дальнейший оффтоп перенесен в тему Как и чему учиться

Автор:  nbelyh [ 22 авг 2016, 01:37 ]
Заголовок сообщения:  Re: Группированный шейп с полями

Shishok писал(а):
Если я правильно понял:

Наверное действительно может быть только 2 в коллекции(могу ошибаться).

Ошибаешься.
Есть простой пример на котором мы схлопотали от заказчиков -
шейп "Ethernt" может иметь сколько угодно элементов в коллекции "Connects"

Автор:  powercat [ 08 сен 2016, 12:28 ]
Заголовок сообщения:  Re: Группированный шейп с полями

Привет. Итак, вопросы продолжаются )
Необходимо программно вставить значения в поля..Например, в поле "Багаж" вставить значение.
Вопрос - а как? )))

Автор:  Surrogate [ 08 сен 2016, 12:33 ]
Заголовок сообщения:  Re: Группированный шейп с полями

что такое поле багаж ?
Оффтоп:
эта эпическая тема длится так долго, что я успел забыть ! и нет времени перечитать ее в лифте

Автор:  Surrogate [ 08 сен 2016, 13:24 ]
Заголовок сообщения:  Re: Группированный шейп с полями

до кучи пришлось перечитать содержимое ветки Шейпы с полями данных. Изображение
если ты используешь созданный мной "автобус"
Изображение
то ответ я тебе уже давал Изображение
Surrogate в сообщении #9321 писал(а):
вот так
Код:
Dim sh As Shape
Set sh = ActiveWindow.Selection.PrimaryItem
' получить значения полей
Debug.Print sh.Cells("Prop.child"), sh.Cells("Prop.Adult"), sh.Cells("Prop.Bagage")
' задать значения поля
sh.Cells("Prop.Bagage") = 88
см. последнюю строчку
если, что-то иное, то для начала такой совет
Surrogate в сообщении #9064 писал(а):
в визио как в большинстве приложений от Микрософт работает макрорекордер:
  • включаешь его
  • делаешь что нужно средствами визио
  • анализируешь код, адаптируешь его под многократное использование
  • если, что не ясно задаешь здесь вопрос

Автор:  powercat [ 08 сен 2016, 15:56 ]
Заголовок сообщения:  Re: Группированный шейп с полями

Да, то - что надо. Благодарю.
Решил не заморачиваться с формированием формул в ячейках, один хрен - обрабатывать их буду внешней программой, и только значения полей нужны...

Страница 3 из 3 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/