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

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

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


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


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

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Считывание значений в секции Geometry коннектора
СообщениеДобавлено: 26 апр 2016, 12:11 
Подскажите как можно получить данные из секции Geometry у 1-D объекта?
Точнее мне бы название секции с геометрией, типа такого: visSectionFirstComponent
Заранее спасибо.


Последний раз редактировалось Surrogate 26 апр 2016, 12:53, всего редактировалось 1 раз.
исправлена тема ветки


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Считывание значений в секции Geometry коннектора
СообщениеДобавлено: 26 апр 2016, 12:15 
Не в сети
Content manager
Content manager
Аватара пользователя

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

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Считывание значений в секции Geometry коннектора
СообщениеДобавлено: 26 апр 2016, 12:16 
Речь идёт о коннекторе.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Считывание значений в секции Geometry коннектора
СообщениеДобавлено: 26 апр 2016, 12:37 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Так у коннектора должна быть всего одна секция геометрии. Как раз и будет visSectionFirstComponent
Цитата:
visSectionFirstComponent
10
An object's first Geometry section. Additional sections have indices (visSectionFirstComponent + i).


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Считывание значений в секции Geometry коннектора
СообщениеДобавлено: 26 апр 2016, 12:40 
Не в сети
Ветеран

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

Добавить очки репутацииУменьшить очки репутации
проще всего включить запись макроса, поменять что-то в геометрии коннектора и смотреть то, что записалось.
у меня вот получилось:
Код:
Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionFirstComponent, 1, 0).FormulaForceU = "0"
    Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionFirstComponent, 1, 1).FormulaForceU = "0"
    Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionFirstComponent, 2, 0).FormulaForceU = "0"
    Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionFirstComponent, 2, 1).FormulaForceU = "-1.3779527559055"
    Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionFirstComponent, 3, 0).FormulaForceU = "0.6003937007874"
    Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionFirstComponent, 3, 1).FormulaForceU = "-1.3779527559055"
    Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionFirstComponent, 4, 0).FormulaForceU = "0.6003937007874"
    Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionFirstComponent, 4, 1).FormulaForceU = "-2.244094488189"


считать геометрию, если именно это надо, можно аналогично, пройдя по всем рядам секции, начиная с 1-го


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Считывание значений в секции Geometry коннектора
СообщениеДобавлено: 26 апр 2016, 12:53 
Спасибо, я понял.
При обращении к свойству Cell.RowName говорится, что секция не поддерживает именование строк.
Можно ли как-то получить имя строки другим способом или без вариантов?


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Считывание значений в секции Geometry коннектора
СообщениеДобавлено: 26 апр 2016, 12:55 
Не в сети
Content manager
Content manager
Аватара пользователя

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

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Считывание значений в секции Geometry коннектора
СообщениеДобавлено: 26 апр 2016, 12:58 
Цитата:
а зачем тебе именовать ячейки в этой секции ? ядро визио само присваивает им порядковые номера

Ну я хотел не именовать эти строки, а получить их названия, типа "MoveTo", "LineTo", чтобы знать как стрелку рисовать.
Хотя можно конечно и тупо по координатам.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Считывание значений в секции Geometry коннектора
СообщениеДобавлено: 26 апр 2016, 13:18 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Код:
Sub Bill17()
Dim shp As Shape
Set shp = ActiveWindow.Selection.PrimaryItem
For i = 1 To shp.RowCount(visSectionFirstComponent) - 1
    Debug.Print shp.RowType(visSectionFirstComponent, i)
Next
End Sub
анализируй значения RowType. константы смотри в этой статье Shape.RowType Property (Visio)

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Считывание значений в секции Geometry коннектора
СообщениеДобавлено: 26 апр 2016, 13:27 
Спасибо!


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

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

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


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

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



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

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


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

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