|
Visio automation
|
|||
---|---|---|---|
#18+
Приветствую! Пытаюсь на c# (можно и на VBA) читать диаграмму UML Деятельность. При считывании очередного Shape необходимо: 1. прочитать содержимое поля "Документация" этого shape, а также 2. прочитать данные, записанные ранее вручную в форме "Свойства состояния UML" - Категории/Именованные значения. Например, надо прочитать именованное значение по имени, скажем, "propability", которое раньше внес создатель диаграммы вручную. Непонятно как получить доступ к значениям этих полей? Заранее благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2015, 19:09 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Уточню, запись макроса в ходе изменение этих данных (документация и Именованные значения) вручную не дает эффекта - в макрос ничего, что касается такого рода свойств не пишется. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2015, 19:44 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1, по имени не получиться - только по индексу. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 08:31 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, можно и по индексу, но какое свойство читать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 09:56 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Как прочитать любое значение тега элемента, заданное вручную при разработке диаграммы? На картинке - свойства элемента Состояние UML, в которых создан тег "P". Его значение 0.0005 и надо прочитать в программе, анализирующей диаграмму: foreach (Visio.Shape iShape in ...) { iShape.Name ... iShape.????? } ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 15:51 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgosgsv1, по имени не получиться - только по индексу. Хотя можно самому имена задать. Как-то коряво получилось. Кто поправит? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 17:36 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, если использовать CellsSRC, то можно получить доступ к ShapeSheet - это я знаю. Однако в данном случае необходимо читать "свойства состояния" (см. картинку выше), и именно Именованные значения. К сожалению, если их задать, то они не отображаются в ShapeSheet - проверял :( Спасибо за попытку помочь, но это не то, что надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 20:04 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1Bobgos, если использовать CellsSRC, то можно получить доступ к ShapeSheet - это я знаю. Однако в данном случае необходимо читать "свойства состояния" (см. картинку выше), и именно Именованные значения. К сожалению, если их задать, то они не отображаются в ShapeSheet - проверял :( Спасибо за попытку помочь, но это не то, что надо. Жаль, .... я скорее сам нуждаюсь в помощи, просто не так много инфо по свойствам и методам vba в visio решил кинуть так как понял. А что за статусы - вообще понятия не имею. Может примерчик файла приложите для разбора? по моему примеру как по русскому названию поля найти его? пол дня перебираю cells - безрезультатно. Внесенное в Код: vbnet 1.
не отображается в окне привязки или рисунка данных, только в свойствах шэйпа. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2015, 22:59 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgosя скорее сам нуждаюсь в помощи, просто не так много инфо по свойствам и методам vba в visio решил кинуть так как понял. А что за статусы - вообще понятия не имею. по ходу все что касается UML в визио реализовано с помощью аддона UML Background Add-on например вызов свойства состояния UML вызывается из меню Actions так Код: vbnet 1.
как добраться до потрохов этого аддона, я тоже не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 10:47 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Положил документ Visio (по предложению Bobgos) Surrogate, но ведь дополнительные свойства шейпов есть не только у UML, а например у ER и многих других. Должен быть какой-то метод работы с ними... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 12:04 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1но ведь дополнительные свойства шейпов есть не только у UML, а например у ER и многих других. Должен быть какой-то метод работы с ними... скорее всего эти многие тоже работают под управлением собственных аддонов. у меня в системе их под 100 штук через шейпшит и vba до них недобраться :( ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 12:55 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Surrogate, Хм, а как же тогда работают разные пользовательские надстройки, реализующие специфические отчеты и др. Функциональность? Шейпшит действительно не содержит этих свойств, но где то они хранятся... Хотелось бы найти! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 13:12 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Surrogategsv1но ведь дополнительные свойства шейпов есть не только у UML, а например у ER и многих других. Должен быть какой-то метод работы с ними... скорее всего эти многие тоже работают под управлением собственных аддонов. у меня в системе их под 100 штук через шейпшит и vba до них недобраться :( Например: Код: vbnet 1. 2. 3.
выдает 93 шт. среди них с id 62 _ Фоновая настройка UML (или UML Background Add-on) Это он? Тогда соглашусь с Surrogate - у него в модели нет практически ничего. gsv1, Какую задачу нужно решить. Даже не представляю что должно сподвигнуть использовать UML? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 18:30 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, надо нарисовать дерево, подобное тому, которое я привел выше. Графическая структура дерева затем должна быть переведена в некоторое внутреннее представление. В этом дереве во внутреннем представлении нужно будет выполнять разные обработки, например искать возможные пути до корня от вершин с определенными характеристиками, удовлетворяющие некоторым ограничениям. Идея в том, чтобы рисовать дерево в развитой среде, типа Visio. Можно конечно и не UML, но диаграмма активности вполне подходит по смыслу. Вообще то в Visio есть ведь forvard ingeneiring для баз данных, задача подобная... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 18:43 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1Bobgos, надо нарисовать дерево, подобное тому, которое я привел выше. Графическая структура дерева затем должна быть переведена в некоторое внутреннее представление. В этом дереве во внутреннем представлении нужно будет выполнять разные обработки, например искать возможные пути до корня от вершин с определенными характеристиками, удовлетворяющие некоторым ограничениям. Идея в том, чтобы рисовать дерево в развитой среде, типа Visio. Можно конечно и не UML, но диаграмма активности вполне подходит по смыслу. Вообще то в Visio есть ведь forvard ingeneiring для баз данных, задача подобная... а если просто рисовать шэйпами? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.
все это потом можно экспортировать в базу, в нужные свойства добавлять как данные фигур. или это все слишком неудобно? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2015, 23:23 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, Вы не поняли. Дерево рисует человек, знающий какое оно должно быть, думающий над ним. Заносит в эту картинку характеристики узлов, которые потом надо прочитать. Когда дерево готово, начинает работать программа, вычисляющая некоторые общие характеристики дерева, анализирующая его ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 05:22 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Нашел такой код: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86.
По утверждению автора он позволяет читать те доп. свойства, которые создаются в ходе работы с UML addon и хранятся в BLOB, правда не знаю где... Интересно такой код будет работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 16:44 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1, несколько поторопился. Код выше работает, но с моделью базы данных, а не с UML, но где-то написано, что эти два add-on связаны... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 17:55 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1, 1. Если подключить в референс: Microsoft Visio UML Solution for VB Type Library увидишь там один класс: VisioUMLSolution и все... то что MODELENGLib library думаю к UML НЕ ИМЕЕТ ОТНОШЕНИЯ. 2. нужно найти описание MODELENGLib library (Microsoft Visio Database Modeling Engine Type Library). Гже бы раздобыть? лучше бы на родном 3. вот еще код Правда не пашет Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 19:21 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1Bobgos, если использовать CellsSRC, то можно получить доступ к ShapeSheet - это я знаю. Однако в данном случае необходимо читать "свойства состояния" (см. картинку выше), и именно Именованные значения. К сожалению, если их задать, то они не отображаются в ShapeSheet - проверял :( Спасибо за попытку помочь, но это не то, что надо. gsv1, Подскажи, пожалуйста: создаю новую строку данных шэйпа: Код: vbnet 1.
в созданную строку данных шэйпа записываю имя: Код: vbnet 1.
но в окне 'Определение данных фигуры' подпись пуста. См. скрин. Куда нужно записать эту подпись? Замучился уже искать методом тыка. Или подскажи где про эти cells и конкретно секцию visSectionProp почитать подробно? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 22:12 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1gsv1, несколько поторопился. Код выше работает, но с моделью базы данных, а не с UML, но где-то написано, что эти два add-on связаны...видимо все-таки придется руками... Как вариант - использовать данные шэйпов. Рисовать схему, добавлять необходимые поля, потом экспорт в базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2015, 23:34 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos Код: vbnet 1.
но в окне 'Определение данных фигуры' подпись пуста. См. скрин. правильно, тем кодом ты меняешь параметр Имя строки (в шейпшите это первый столбец). а там где пусто это поле Подпись (в шейпшите это второй столбец Label ) его программно изменить можно Код: vbnet 1.
BobgosКуда нужно записать эту подпись? Замучился уже искать методом тыка. включил макрорекордер. через интерфейс изменил поле Подпись и получил нужный код :) BobgosИли подскажи где про эти cells и конкретно секцию visSectionProp почитать подробно? попробуй на МСДН Shape Data Row (Shape Data Section) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 01:12 |
|
Visio automation
|
|||
---|---|---|---|
#18+
SurrogateBobgos Код: vbnet 1.
но в окне 'Определение данных фигуры' подпись пуста. См. скрин. правильно, тем кодом ты меняешь параметр Имя строки (в шейпшите это первый столбец). а там где пусто это поле Подпись (в шейпшите это второй столбец Label ) его программно изменить можно Код: vbnet 1.
BobgosКуда нужно записать эту подпись? Замучился уже искать методом тыка. включил макрорекордер. через интерфейс изменил поле Подпись и получил нужный код :) BobgosИли подскажи где про эти cells и конкретно секцию visSectionProp почитать подробно? попробуй на МСДН Shape Data Row (Shape Data Section) Surrogate, спасибо. А что-то еще почитать с примерами. Например: как из vba изменить рисунок, связанный с данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 14:32 |
|
Visio automation
|
|||
---|---|---|---|
#18+
Bobgos, не успел ответить раньше. Про Visio (хоть я и абсолютный новичок) есть хорошая новая книжка parker microsoft visio 2013 business process diagramming and validating По поводу своего вопроса: я отказался от использования свойств UML, поддерживаемых спец. add-on (Surrogate первый об этом сказал, но я еще проконсультировался с Николаем Белых, чей код по работе с спец. аддоном я привел выше, он кстати участвовал в подготовке публикации книги Паркера) в пользу стандартных Данных фигуры - там также можно создать любые тэги, но при этом они доступны через ShaeSheet! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 19:25 |
|
Visio automation
|
|||
---|---|---|---|
#18+
gsv1Bobgos, не успел ответить раньше. Про Visio (хоть я и абсолютный новичок) есть хорошая новая книжка parker microsoft visio 2013 business process diagramming and validating По поводу своего вопроса: я отказался от использования свойств UML, поддерживаемых спец. add-on (Surrogate первый об этом сказал, но я еще проконсультировался с Николаем Белых, чей код по работе с спец. аддоном я привел выше, он кстати участвовал в подготовке публикации книги Паркера) в пользу стандартных Данных фигуры - там также можно создать любые тэги, но при этом они доступны через ShaeSheet! да видно хорошая книга - в цене (6 775 руб). а где бы её скачать да еще и на русском или на русском её нет вообще? Ссылки все лаговые,если есть возможность выложи для скачивания. Отказ от UML поддерживаю. Если сверим задачи,можем вместе поработать по методологии использования shapessheet. Насколько я понял кто-то должен в Визио создавать диаграммы, а программулина должна экспортировать эти данные? Это весь запланированный функционал? Мне бы еще было интересно параметрирование из excel диаграммы процессов в visio и их автоматизированное построение по данным таблиц xls. Ну а из разряда фантастики или UML ^-) - еще бы и временные, количественные значения для процессов, виртуализация визуализация статусов, построение дополнительных объединяющих шэйпов и скажем, контейнеризация при одинаковых значениях полей. Можешь подробнее пояснить свою задачу? Список именованных значения будет постоянный? Если нет, то сколько наборов может быть? Необходимо ли создание нового класса шэйпов с собственными event-ами или можно обойтись существующими? Настройки проги будут в составе vsd или отдельно? Планируешь использовать создание новой пользовательской секции или достаточно обойтись одной Properties? Экспорт штатными средствами visio или не/настраиваемый отчет? в какой формат? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 20:34 |
|
|
start [/forum/topic.php?fid=61&fpage=44&tid=2173437]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
others: | 280ms |
total: | 432ms |
0 / 0 |