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

Форум по вопросам применения и программирования в Visio
Текущее время: 21 июл 2017, 16:37

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


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


Размещение файлов в формате vsd (а не vsdx/vsdm), увеличивает вероятность ответа стремительным домкратом !!!



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Visio vba первая помощь
СообщениеДобавлено: 19 май 2017, 12:30 
Добрый день!
Необходимо решить простую задачу - в форме создаю listBox. Ввожу туда текст и этот текст должен вставляться в заданное место листа.
В Excel всё это провернуть элементарно, но в Visio я оказался в ступоре.
Проблема:
Как Создать многострочное текстовое поле и вставить его в лист в нужное место через vba?


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Visio vba первая помощь
СообщениеДобавлено: 19 май 2017, 12:38 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3348
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
lioon писал(а):
В Excel всё это провернуть элементарно, но в Visio я оказался в ступоре.
то что связано с работой с формой и ListBox в Excel и в Visio одинаково.
lioon писал(а):
Как Создать многострочное текстовое поле
что это за чудо природы такое ?
lioon писал(а):
вставить его в лист в нужное место через vba?
и как определяется это место: по заранее заданным координатам или указывать мышью ?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Visio vba первая помощь
СообщениеДобавлено: 19 май 2017, 14:19 
Не в сети
Ветеран

Зарегистрирован: 05 июл 2012, 21:34
Сообщений: 207
Очков репутации: 27

Добавить очки репутацииУменьшить очки репутации
lioon писал(а):
Добрый день!
Необходимо решить простую задачу - в форме создаю listBox. Ввожу туда текст и этот текст должен вставляться в заданное место листа.
В Excel всё это провернуть элементарно, но в Visio я оказался в ступоре.
Проблема:
Как Создать многострочное текстовое поле и вставить его в лист в нужное место через vba?

Запись макросов спасет Вас.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Visio vba первая помощь
СообщениеДобавлено: 19 май 2017, 14:58 
Не в сети
Ветеран

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

Добавить очки репутацииУменьшить очки репутации
а в листбокс вообще можно вводить многострочный текст?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Visio vba первая помощь
СообщениеДобавлено: 23 май 2017, 05:52 
Попробую детальнее объяснить. В Visio есть такая фишка как Временная шкала, которая работает с MS Project.
Изображение

Мне нужно создать шаблон отчета по определенному образцу:
Изображение

При импорте данных из MS Project временная шкала вставляется на новый лист. И проблема:

1. Или нужно придумать, как можно заставить функцию "Импорт данных" обновлять данные из MS Project на текущем листе, при этом сохраняя форматирование временной шкалы.(т.к. по умолчанию временная шкала создается в следующем виде: Изображение)
2. Или нужно в новый лист вставить поля на те же места, что и были раньше, а старый лист удалить.

И я хотел текстовые данные в шаблон забивать с помощью формы, для этого и нужны были listBox.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Visio vba первая помощь
СообщениеДобавлено: 23 май 2017, 07:41 
Не в сети
Ветеран
Аватара пользователя

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

Добавить очки репутацииУменьшить очки репутации
Понятно. К сожалению, синхронизация данных с Project не поддерживается. Только экспорт или импорт.

Поскольку и Project и Visio - обе программы довольно маргинальные (имеется в виду, сравнительно мало пользователей, по сравнению с Word/Excel например), и пользуются ими в типичном случае раз в полнолуние, непрерывной синхронизацией данных пока никто не озаботился.

А вообще, это же не так долго - импортировать шкалу из Project на новый лист, отформатировать,
потом скопировать с первого листа текстовые блоки. Просто не лениться, и все получится!
С листбоксами, IMHO, ты сам себе геморрой устраиваешь

Вот здесь у чувака был тот же вопрос - как обновлять шкалу из Project, сохраняя форматирование: http://visguy.com/vgforum/index.php?topic=1318.0
Его отправили искать бабло на разработку, насколько я понял :D Обойдется кстати наверняка дороже, чем например нанять индуса форматировать вручную, даже если это нужно делать каждую неделю :D А вот если нужно каждый день, или в режиме реального времени - дешевле будет все же написать код для синхронизации.

Вот еще ссылка как привязать к Project Server:
http://blogs.catapultsystems.com/alavin ... -services/

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Visio vba первая помощь
СообщениеДобавлено: 23 май 2017, 08:46 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
2. Или нужно в новый лист вставить поля на те же места, что и были раньше, а старый лист удалить.

А это должен быть элементарный макрос.
Если все текстовые блоки поместить, например, на специальный слой (или пометить другим образом), то макросом обойти лист и скопировать найденные шейпы с размерами и позиционированием на новый лист довольно легко. Вместо чужеродных ListBox.
Вариант - вместо копирования со страницы на страницу сделать сворачивание таких шейпов в XML иразвертывание из XML. С сохранением XML в документе. То есть в любой момент можно будет воспроизвести такой текстовый слой на любой странице.
Вариант - поместить тексты на отдельную страницу в Background.
----------
P.S. Можно также разместить на отдельной скрытой странице и копировать оттуда.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Visio vba первая помощь
СообщениеДобавлено: 24 май 2017, 13:09 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
Или нужно придумать, как можно заставить функцию "Импорт данных" обновлять данные из MS Project на текущем листе

lioon, а о каких обновлениях идет речь?
Если что-то мелкое (например, отследить изменение начала-конца интервала), то для этого можно сделать макрос.
К сожалению, идентификаторы в Visio не передаются. Но можно попробовать использовать в качестве ключа имя задачи. Тогда сравнить и исправить данные будет не трудно.
А вот если изменяются названия задач или что-то удаляется, добавляется, то будет посложнее. Но все равно можно пометить (например, подкрасить) удаленные интервалы и добавить (опять же с подкраской) вновь появившиеся.
То есть синхронизация в интерактивном режиме.
Но как минимум задача сравнения должна решаться довольно легко.


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

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



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

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


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

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