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

Форум по вопросам применения и программирования в Visio
Текущее время: 28 мар 2024, 17:36

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


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


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

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Вычислить имя точки к которой присоединена линия
СообщениеДобавлено: 30 сен 2013, 03:47 
Не в сети

Зарегистрирован: 30 сен 2013, 03:20
Сообщений: 8
Использую Visio c: 2011
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Доброго времени суток!
Вопрос следующий:
Есть фигура квадрат с именем Block и соединительной точкой А1, к нему я присоединяю линию.
Как вычислить имя точки или фигуры к которой присоединена линия? Хочу что бы на линии было имя от куда ноги растут.

Изображение


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

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

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


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

Зарегистрирован: 30 сен 2013, 03:20
Сообщений: 8
Использую Visio c: 2011
Очков репутации: 1

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

Хотелось бы через shapesheet. Спасибо за ответ


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

Зарегистрирован: 30 сен 2013, 03:20
Сообщений: 8
Использую Visio c: 2011
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Допустим программно я нашел искомые значения:
Код:
Option Explicit

Private WithEvents m_page As Visio.Page

Private Sub Document_DocumentOpened(ByVal doc As IVDocument)
    Set m_page = Visio.ActivePage
End Sub

Private Sub Document_PageChanged(ByVal Page As IVPage)
    Set m_page = Visio.ActivePage
End Sub

Private Sub m_page_ConnectionsAdded(ByVal Connects As IVConnects)
Dim cnct As Visio.Connect
    For Each cnct In Connects
        If cnct.FromSheet.OneD Then
            AddConnectorText cnct.FromSheet
        End If
    Next
End Sub

Private Sub m_page_ConnectionsDeleted(ByVal Connects As IVConnects)
Dim cnct As Visio.Connect
    For Each cnct In Connects
        If cnct.FromSheet.OneD Then
            AddConnectorText cnct.FromSheet
        End If
    Next
End Sub

Private Sub AddConnectorText(ByVal shp As Visio.Shape)
'A connector shape can be connected to shapes at either end
'The connector shape is always the FromSheet
Dim txtBegin As String
Dim txtEnd As String
txtBegin = ""
txtEnd = ""
Dim cnct As Visio.Connect
Dim connectorShape As Visio.Shape
    For Each cnct In shp.Connects
        If cnct.FromCell.Name = "BeginX" Then
            txtBegin = txtBegin & cnct.ToSheet.Name
            If cnct.ToCell.Name = "PinX" Then
                txtBegin = txtBegin
            ElseIf cnct.ToCell.RowName = "" Then
                txtBegin = txtBegin & " - " & cnct.ToCell.Row
            Else
               
            End If
        Else
             
            End If
       
    Next
   
    shp.Text = txtBegin
       
End Sub

Public Sub StartCode()
    Set m_page = Visio.ActivePage
End Sub

Public Sub StopCode()
    Set m_page = Nothing
End Sub




Теперь я хочу вставить найденный текст в ячейку user.row_1
как это сделать? помогите дописать код


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

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

Добавить очки репутацииУменьшить очки репутации
shape.cellsu("user.row_1.value").formulau="""" & text & """"


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

Зарегистрирован: 30 сен 2013, 03:20
Сообщений: 8
Использую Visio c: 2011
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
9rey писал(а):
shape.cellsu("user.row_1.value").formulau="""" & text & """"

отлично! Спасибо!


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

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



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

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


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

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