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

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

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Как поймать действие визио?
СообщениеДобавлено: 28 июн 2017, 12:40 
Всех приветствую.
Можно ли с помощью vba поймать момент вызова действия "Вставить дорожку до" или "Вставить дорожку после", которые вставляют дорожки методом DropIntoList()? Я бы хотел перехватить это действие до его вызова, чтобы заполнить пару свойств. Прошу помочь в этом вопросе.
Названия действий из 2013 визио, возможно в 2010 названия другие.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Как поймать действие визио?
СообщениеДобавлено: 28 июн 2017, 13:01 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Bill17 писал(а):
Можно ли с помощью vba поймать момент вызова
с помощью VBA сомневаюсь. Для отлова событий есть фича Монитор событий, доступна после установки надстройки из SDK
Изображение


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как поймать действие визио?
СообщениеДобавлено: 28 июн 2017, 15:36 
Спасибо, посмотрю.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Как поймать действие визио?
СообщениеДобавлено: 28 июн 2017, 16:37 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
думаю эта статья будет полезной
John Goldsmith в статье Using the Visio Event Monitor tool писал(а):
The Event Monitor is a tool that comes with the Visio SDK and the Help file describes it as follows:

"The Microsoft® Office® Visio® Event Monitor tool watches the events that fire in an instance of Visio and logs all events of the types that you specify in the Event Options dialog box (Tools menu). It can help you determine which events to handle in your own solutions."

Дополнено позднее: Bill17, скажи как профессиональный разработчик: нужна ли эта сертификация ?
Опрос об экзаменах для сертификации разработчиков Visio


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как поймать действие визио?
СообщениеДобавлено: 29 июн 2017, 00:53 
Не в сети
Ветеран
Аватара пользователя

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

Добавить очки репутацииУменьшить очки репутации
Если тебе просто нужно узнать какая именно команда была вызвана ("вставить до" или "вставить после"), то это можно легко сделать через событие EnterScope (ключевое слово для поиска), команда туда передается как параметр.

А вот если нужно именно перехватить до начала ее исполнения Visio, то средствами VBA это будет невозможно довольно сложно.

Здесь вот например как-то обсуждали переназначение команды "сохранить", чтобы вместо сохранения она делала что-то совершенно левое.
http://visguy.com/vgforum/index.php?topic=1857.0

Еще как простой вариант - можно команды "вставить дорожку до" и "вставить дорожку после" спрятать, а вместо них подсунуть в меню твои команды,
которые будут сначала "прописывать пару формул", а затем вызывать исходные версии.

В любом случае, повозиться придется, прямой поддержки событий типа before-XXX и after-XXX нету. Если не сильно надо, я бы забил.

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


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

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



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

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


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

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