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

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

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 13 июн 2017, 14:14 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 16 фев 2016, 10:11
Сообщений: 282
Использую Visio c: 2000
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Привет.
Я тут задавал вопрос - сидят ли в шейпшите все свойства шейпа, и мне ответили, что да, сидят.
Но разве там не должны быть также и ConnectFrom и ConnectTo и все остальные свойства, используемые в VBA?
Если должны, то плз подскажите, как их увидеть, а то я что-то не нашел их :roll:


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 13 июн 2017, 14:51 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 492
Использую Visio c: 2008
Очков репутации: 99

Добавить очки репутацииУменьшить очки репутации
Цитата:
Но разве там не должны быть также и ConnectFrom и ConnectTo и все остальные свойства, используемые в VBA?

Этих свойств там нет. И ряда других тоже. :cry:


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 13 июн 2017, 14:53 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 16 фев 2016, 10:11
Сообщений: 282
Использую Visio c: 2000
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Блин...а как тогда быть...
Вот я хочу начать писать программу (вообразим, что я ранее этого не делал) - и шо, шо делать-то то? Смотрю объектную модель, тыкаю в ссылки, читаю МСДНскую какашку...но нечего нужного мне нет...


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 13 июн 2017, 15:04 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Visio отдельно хранит "шейпы" и "соединения". Поэтому то, к чему присоединен шейп - это не свойство шейпа. Хотя и доступно в несколько действий (в VBA).
Сначала выбираются "соединения" для нужного шейпа. Потом, как свойство "соединения", выбираются присоединенные шейпы (от кого, куда, к какому месту...).
И в MSDN это, естественно, написано.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 13 июн 2017, 17:27 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 16 фев 2016, 10:11
Сообщений: 282
Использую Visio c: 2000
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
А коннекшн пойнты...они вообще участвуют в работе или они нужны только чтобы прицепиться? Т.е. можно ли узнать, к какому конекшн пойнту шейпа прицеплена линия?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 13 июн 2017, 17:40 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Можно. Смотрите Connect.ToPart Property


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 13 июн 2017, 17:46 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 16 фев 2016, 10:11
Сообщений: 282
Использую Visio c: 2000
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Благодарю


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 13 июн 2017, 18:43 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 16 фев 2016, 10:11
Сообщений: 282
Использую Visio c: 2000
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
Можно. Смотрите Connect.ToPart Property


Странно...выдает какие-то номера конекшн пойнтов, а не названия, которые я им дал...


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 13 июн 2017, 20:22 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 492
Использую Visio c: 2008
Очков репутации: 99

Добавить очки репутацииУменьшить очки репутации
Чтобы получить названия конекшн пойнтов надо как то так:
Код:
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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 14 июн 2017, 10:07 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 16 фев 2016, 10:11
Сообщений: 282
Использую Visio c: 2000
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
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/идентификатором каким-то?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 14 июн 2017, 10:16 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Для обратной задачи вместо коллекции Connects используется коллекция FromConnects.
Остальное точно так же. Коллекция состоит из точно таких же Connect с теми же свойствами.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 14 июн 2017, 15:49 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 16 фев 2016, 10:11
Сообщений: 282
Использую Visio c: 2000
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Вот я решил разобраться со всеми свойствами...Начал с FromCell
Написал пример, как в МСДН. Возвращаются названия BeginX и EndX...не понимаю, что это значит... :wall:
Код:
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


Для чего это нужно?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 14 июн 2017, 16:02 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Чтобы понять, чем присоединена линия - началом или концом.
Кому-нибудь это бывает очень нужно.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 14 июн 2017, 16:09 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 16 фев 2016, 10:11
Сообщений: 282
Использую Visio c: 2000
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
а почему возвращается не имя конекшнпойнта, а что-то невразумительное?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ячейка для ConnectFrom, ConnectTo
СообщениеДобавлено: 14 июн 2017, 16:18 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
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.


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

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



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

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


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

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