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

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

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 04 апр 2018, 13:09 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 581
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100603

Добавить очки репутацииУменьшить очки репутации
А Data Visualizer не хочешь попробовать?

Он это должен уметь (рисовать из Excel, и проставлять свойства)
IMHO пока немного сыроват, но вообще работает, и кастомные фигуры тоже можно использовать.

Кстати ( привет Surrogate :D ) на русском вообще видео про него кто делал? А то тул крутой, а мужики-то и не знают :D

А так, согласно моему опыту, обычно все кто хочет автоматизировать, просто хочет делать не что нужно, а что интересно :mrgreen:
(то есть, с практической точки зрения, проще нарисовать руками)

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 04 апр 2018, 13:52 
Не в сети
Ветеран

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

Добавить очки репутацииУменьшить очки репутации
Вот так?:


Вложения:
Test_auto_draw_VBA_v2.vsd [33 Кб]
Скачиваний: 13
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 04 апр 2018, 14:14 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
А так, согласно моему опыту, обычно все кто хочет автоматизировать, просто хочет делать не что нужно, а что интересно
(то есть, с практической точки зрения, проще нарисовать руками)

Есть и другой опыт.
Самый убедительный - раскрывал структуру изделия в виде дерева (из PDM). Сотни компонентов в одном изделии. Руками за такое никто не взялся бы. А картинка очень наглядная, особенно при отслеживании изменений.
Ближе к теме - в проектировании автоматики вентиляции. За бугром это как-то очень развито. Народ использует и доволен.
Еще мощные картинки были с сетевыми потоками. Тоже вручную не особо прорисуешь.
Но, согласен, в этих примерах используется не универсальный визуалайзер. Везде специфические построители. Под задачу.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 04 апр 2018, 14:28 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 581
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100603

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
Есть и другой опыт.
Самый убедительный - раскрывал структуру изделия в виде дерева (из PDM). Сотни компонентов в одном изделии. Руками за такое никто не взялся бы. А картинка очень наглядная, особенно при отслеживании изменений.
Ближе к теме - в проектировании автоматики вентиляции. За бугром это как-то очень развито. Народ использует и доволен.
Еще мощные картинки были с сетевыми потоками. Тоже вручную не особо прорисуешь.
Но, согласен, в этих примерах используется не универсальный визуалайзер. Везде специфические построители. Под задачу.


Согласен, перегнул палку :)
Если есть конкретный заказчик/проект, лучше решать именно с привязкой к его задаче (выключатели там будут, серверы, вентили, или еще что), а не в "общем случае".
Визуалайзер на все случаи жизни сделать тяжко, это все равно что задача для ИИ "сделай чтобы было красиво"...

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 24 апр 2018, 09:51 
Не в сети
Новичок

Зарегистрирован: 19 мар 2018, 14:10
Сообщений: 22
Использую Visio c: 2010
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
После отпуска решил продолжить освоение VBA..))
хочу в своей UserForm сделать ComboBox (список), который брал бы данные из файла Excel.
и далее, исходя из выбранного значения, в соседнее текстовое поле формы вносил соответствующее значение другого столбца из того же файла Excel.
Грубо говоря, к примеру, есть файл Excel, где есть несколько столбцов, среди которых есть столбец "фамилия" и столбец "имя".
Необходимо в список формы импортнуть данные столбца "фамилия" и в текстовое поле подставить соответствующее значение столбца "имя".
Все фамилии и имена уникальны, не повторяются.
+, если это как то отдельно настраивается, в списке формы осуществить подстановку значения по первым введенным символам.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 24 апр 2018, 14:20 
И, заодно, как сделать так, чтобы после вызова UserForm окно самого visio оставалось активным?
т.е. чтобы и окно формы и страницу Visio можно было редактировать параллельно.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 24 апр 2018, 14:33 
Не в сети
Новичок

Зарегистрирован: 19 мар 2018, 14:10
Сообщений: 22
Использую Visio c: 2010
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Гость писал(а):
И, заодно, как сделать так, чтобы после вызова UserForm окно самого visio оставалось активным?
т.е. чтобы и окно формы и страницу Visio можно было редактировать параллельно.


Сам нашел..))
через свойство формы ShowModal


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 26 апр 2018, 16:35 
Не в сети
Новичок

Зарегистрирован: 19 мар 2018, 14:10
Сообщений: 22
Использую Visio c: 2010
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Shishok писал(а):
Ну так вот - AddShapesFromStensil.zip :o

Нашел Ваше творение:
Find&Replace Addon For MS Visio
Прикольно сделано 8-)
Можете поделиться кодом, хотя бы частью?
Хочу также реализовать у себя альтернативный стандартному поиску в visio, чтобы искать определенные значения в определенных данных фигур.
с "точным" совпадением, чтобы, к примеру, при поиске "Иванов", не находилось "Иванова"
если получится, то с поиском фигуры по нескольким данным
ну и отображением всех возможных найденных значений, по аналогии с поиском Excel "найти все".


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 26 апр 2018, 18:12 
Не в сети
Ветеран

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

Добавить очки репутацииУменьшить очки репутации
А эту тему смотрел?
http://visio.getbb.ru/viewtopic.php?f=6&t=1024


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 03 май 2018, 12:26 
Не в сети
Постоянный участник
Аватара пользователя

Зарегистрирован: 12 май 2012, 15:16
Сообщений: 96
Очков репутации: 10

Добавить очки репутацииУменьшить очки репутации
nbelyh писал(а):
на русском вообще видео про него кто делал? А то тул крутой, а мужики-то и не знают :D
пока наши не успели снять русскоязычное видео, смотрим видео от David Parker
phpBB [youtube]


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 15 май 2018, 12:55 
Не в сети
Новичок

Зарегистрирован: 19 мар 2018, 14:10
Сообщений: 22
Использую Visio c: 2010
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Shishok писал(а):
А эту тему смотрел?
http://visio.getbb.ru/viewtopic.php?f=6&t=1024

почитал, много букв, но почитал..))
твое творение там не раскрывается

для начала пробую вывести данные по всем фигурам в debug:
Код:
Private Sub Test()
Dim oShapes As Object

For Each oShapes In ActiveDocument.Pages.Item(1).Shapes
    Debug.Print "Name: "; oShapes.Name; " Text: "; oShapes.Text
    Debug.Print "NetworkName: "; oShapes.Cells("Prop.Network_Name").ResultStr(visNone)
    Debug.Print "Manufacturer: "; oShapes.CellsU("Prop.Manufacturer").ResultStr(visNone)
Next
End Sub

1. чем отличается .Cells от .CellsU?
2. что за параметр "visNone" и какие еще варианты могут быть?
3. как лучше сравнивать, через "like" или "StrComp"?
4. ну и натолкните на мысль, как вывести в useform результат всех найденных значений с возможностью перехода по тому или иному пункту (как в Excel "найти все").


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 15 май 2018, 14:50 
Hamit писал(а):
1. чем отличается .Cells от .CellsU?
CellsU это для т.н. "универсальных имен" ячеек. Cells для "локальных"
Name and NameU

Hamit писал(а):
2. что за параметр "visNone" и какие еще варианты могут быть?
аргумент свойства ResulStr
9rey писал(а):
или так .ResultStr(0)
или так .ResultStr(visNone)
:)
ибо в хелпе по ResultStr сказано:
Цитата:
Passing a zero (0) is sufficient for getting the value of text string cells.
вариантов много в вышеуказанном описании к ResulStr есть список VisUnitCodes Enumeration (Visio)


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 15 май 2018, 15:06 
Не в сети
Ветеран

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

Добавить очки репутацииУменьшить очки репутации
1. чем отличается .Cells от .CellsU?
Первое использует локальные имена ячеек, а второе универсальные.
2. что за параметр "visNone" и какие еще варианты могут быть?
https://msdn.microsoft.com/ru-ru/office/aa342161
3. как лучше сравнивать, через "like" или "StrComp"?
Смотря что тебе надо. Можно еще регулярки использовать. http://www.script-coding.com/WSH/RegExp.html
4. ну и натолкните на мысль, как вывести в useform результат всех найденных значений с возможностью перехода по тому или иному пункту (как в Excel "найти все").
В двух словах не напишешь. Нужно код писать. Время будет, может что то накропаю.
Мое творение. Код в файле - Form1.vb. Вряд ли оно тебе поможет. Ну попробуй разобраться.


Вложения:
FInd_Replace.zip [737.63 Кб]
Скачиваний: 6
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 18 май 2018, 01:03 
Не в сети
Ветеран

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

Добавить очки репутацииУменьшить очки репутации
Вот сделал примерчик:

Изображение

Скачать FindShapes.zip
https://yadi.sk/d/qbpj9WI9d2eqF


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атоматизация рисования схема visio через VBA
СообщениеДобавлено: 11 июн 2018, 09:34 
Не в сети
Ветеран

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

Добавить очки репутацииУменьшить очки репутации
Улучшенный вариант:

Изображение

А это вариант с компонентом ListView. В Win7x32 работает. В Win10x64 не работает(по крайней мере без танцев с бубном).

Изображение


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

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



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

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


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

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