Форум пользователей Visio http://visio.getbb.ru/ |
|
Ячейка для ConnectFrom, ConnectTo http://visio.getbb.ru/viewtopic.php?f=5&t=1138 |
Страница 1 из 1 |
Автор: | powercat [ 13 июн 2017, 14:14 ] |
Заголовок сообщения: | Ячейка для ConnectFrom, ConnectTo |
Привет. Я тут задавал вопрос - сидят ли в шейпшите все свойства шейпа, и мне ответили, что да, сидят. Но разве там не должны быть также и ConnectFrom и ConnectTo и все остальные свойства, используемые в VBA? Если должны, то плз подскажите, как их увидеть, а то я что-то не нашел их |
Автор: | Shishok [ 13 июн 2017, 14:51 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Цитата: Но разве там не должны быть также и ConnectFrom и ConnectTo и все остальные свойства, используемые в VBA? Этих свойств там нет. И ряда других тоже. |
Автор: | powercat [ 13 июн 2017, 14:53 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Блин...а как тогда быть... Вот я хочу начать писать программу (вообразим, что я ранее этого не делал) - и шо, шо делать-то то? Смотрю объектную модель, тыкаю в ссылки, читаю МСДНскую какашку...но нечего нужного мне нет... |
Автор: | Tumanov [ 13 июн 2017, 15:04 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Visio отдельно хранит "шейпы" и "соединения". Поэтому то, к чему присоединен шейп - это не свойство шейпа. Хотя и доступно в несколько действий (в VBA). Сначала выбираются "соединения" для нужного шейпа. Потом, как свойство "соединения", выбираются присоединенные шейпы (от кого, куда, к какому месту...). И в MSDN это, естественно, написано. |
Автор: | powercat [ 13 июн 2017, 17:27 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
А коннекшн пойнты...они вообще участвуют в работе или они нужны только чтобы прицепиться? Т.е. можно ли узнать, к какому конекшн пойнту шейпа прицеплена линия? |
Автор: | Tumanov [ 13 июн 2017, 17:40 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Можно. Смотрите Connect.ToPart Property |
Автор: | powercat [ 13 июн 2017, 17:46 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Благодарю |
Автор: | powercat [ 13 июн 2017, 18:43 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Tumanov писал(а): Можно. Смотрите Connect.ToPart Property Странно...выдает какие-то номера конекшн пойнтов, а не названия, которые я им дал... |
Автор: | Shishok [ 13 июн 2017, 20:22 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Чтобы получить названия конекшн пойнтов надо как то так: Код: Public Sub ToPart_Name_Example()
Dim vsoShape As Visio.Shape, vsoConnectTo As Visio.Shape Dim vsoConnects As Visio.Connects, vsoConnect As Visio.Connect Dim intCounter As Integer, intToData As Integer Set vsoShape = ActiveWindow.Selection.PrimaryItem Set vsoConnects = vsoShape.Connects For intCounter = 1 To vsoConnects.Count Set vsoConnect = vsoConnects(intCounter) Set vsoConnectTo = vsoConnect.ToSheet intToData = vsoConnect.ToPart Debug.Print vsoConnectTo.CellsSRC(visSectionConnectionPts, intToData - 100, visCnnctX).RowName Next intCounter End Sub |
Автор: | powercat [ 14 июн 2017, 10:07 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Shishok писал(а): Чтобы получить названия конекшн пойнтов надо как то так: Код: Public Sub ToPart_Name_Example() Dim vsoShape As Visio.Shape, vsoConnectTo As Visio.Shape Dim vsoConnects As Visio.Connects, vsoConnect As Visio.Connect Dim intCounter As Integer, intToData As Integer Set vsoShape = ActiveWindow.Selection.PrimaryItem Set vsoConnects = vsoShape.Connects For intCounter = 1 To vsoConnects.Count Set vsoConnect = vsoConnects(intCounter) Set vsoConnectTo = vsoConnect.ToSheet intToData = vsoConnect.ToPart Debug.Print vsoConnectTo.CellsSRC(visSectionConnectionPts, intToData - 100, visCnnctX).RowName Next intCounter End Sub Благодарю. Но это для коннекшена код, т.к. узнать, к чему прицеплена линия. А как НЕ для линии это сделать, т.е. немного обратная задача - узнать, к какому конекшнпойнту фигуры прицеплена линия с именем/ID/идентификатором каким-то? |
Автор: | Tumanov [ 14 июн 2017, 10:16 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Для обратной задачи вместо коллекции Connects используется коллекция FromConnects. Остальное точно так же. Коллекция состоит из точно таких же Connect с теми же свойствами. |
Автор: | powercat [ 14 июн 2017, 15:49 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Вот я решил разобраться со всеми свойствами...Начал с FromCell Написал пример, как в МСДН. Возвращаются названия BeginX и EndX...не понимаю, что это значит... Код: Sub FromCell_Example() Dim i As Long '--Go through the all shapes--' Dim numberOfShapes As Long numberOfShapes = ActivePage.Shapes.Count '--Number of shapes on the page--' Dim localShape As Visio.Shape For i = 1 To numberOfShapes Set localShape = ActivePage.Shapes(i) '--Not necesseary, can use just ActivePage.Shapes(i)--' Dim x As Long '--Go through the all connects on the shape--' For x = 1 To localShape.Connects.Count Debug.Print "From " & localShape.Connects(x).FromCell.Name Next x Next i End Sub Для чего это нужно? |
Автор: | Tumanov [ 14 июн 2017, 16:02 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
Чтобы понять, чем присоединена линия - началом или концом. Кому-нибудь это бывает очень нужно. |
Автор: | powercat [ 14 июн 2017, 16:09 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
а почему возвращается не имя конекшнпойнта, а что-то невразумительное? |
Автор: | Surrogate [ 14 июн 2017, 16:18 ] |
Заголовок сообщения: | Re: Ячейка для ConnectFrom, ConnectTo |
powercat писал(а): а почему возвращается не имя конекшнпойнта, а что-то невразумительное? каков вопрос - таков и ответ. David J Parker Getting the Name of Glued Connection Points писал(а): A Visio developer asked me if it is possible to get the name of connection points that a connector is glued to in Visio. Well, it is not possible directly from the ShapeSheet, but is easy if you use a little code.
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |