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

Форум по вопросам применения и программирования в Visio
Текущее время: 29 мар 2024, 11:45

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


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


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

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Отследить событие BeforeDocumentClose
СообщениеДобавлено: 31 окт 2012, 11:02 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 24 апр 2012, 12:36
Сообщений: 180
Очков репутации: 11

Добавить очки репутацииУменьшить очки репутации
Добрый день! Такая фигня: отслеживаю событие BeforeDocumentClose, НО! Если документ был изменен, оно срабатывает после MessageBox'a "Сохранить - Нет - Отмена". А как мне добраться до события , которое бы срабатывало до этого диалога?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Отследить событие BeforeDocumentClose
СообщениеДобавлено: 31 окт 2012, 15:02 
Не в сети
Ветеран

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

Добавить очки репутацииУменьшить очки репутации
можно использовать Application.AlertResponse
если назначить этому св-ву значение из списка ниже, то окно появляться не будет, а по умолчанию срабатывать кнопка:
IDOK
1
IDCANCEL
2
IDABORT
3
IDRETRY
4
IDIGNORE
5
IDYES
6
IDNO
7

чтоб сделать как было: Application.AlertResponse=0

а дальше лови свое событие


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Отследить событие BeforeDocumentClose
СообщениеДобавлено: 31 окт 2012, 15:12 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 24 апр 2012, 12:36
Сообщений: 180
Очков репутации: 11

Добавить очки репутацииУменьшить очки репутации
спасибо, но както странно оно себя ведет.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Отследить событие BeforeDocumentClose
СообщениеДобавлено: 31 окт 2012, 16:13 
Не в сети
Ветеран

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

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

EnterScope Close [1003;0;Close]
QueryCancelDocumentClose prj.vsd [/doc=1]
BeforeModal

короче, BeforeModal - это событие возникающее перед любым диалоговым окном.
а тебе надо QueryCancelDocumentClose - это особое событие на которое можно отвечать (разрешить или отменить)
и оно как раз срабатывает перед окном
ну либо отслеживать все Scope, в данном случае с кодом 1003.
но правильнее - QueryCancelDocumentClose
выбирай


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Отследить событие BeforeDocumentClose
СообщениеДобавлено: 31 окт 2012, 16:46 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 24 апр 2012, 12:36
Сообщений: 180
Очков репутации: 11

Добавить очки репутацииУменьшить очки репутации
Код:
private bool app_QueryCancelDocumentClose(Document document)
        {
            Globals.ThisAddIn.Application.ActiveDocument.Save();
            return false;
        }


Ну ты соображаешь!!! вот и решение, гениально простое - я всегда сохраняю документ, Не спрашивая об этом ))

ОГРОМНОЕ СПАСИБО! =)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Отследить событие BeforeDocumentClose
СообщениеДобавлено: 04 дек 2014, 16:57 
Не в сети
Новичок

Зарегистрирован: 08 дек 2014, 13:45
Сообщений: 21
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Sila писал(а):
Код:
private bool app_QueryCancelDocumentClose(Document document)
        {
            Globals.ThisAddIn.Application.ActiveDocument.Save();
            return false;
        }


Ну ты соображаешь!!! вот и решение, гениально простое - я всегда сохраняю документ, Не спрашивая об этом ))

ОГРОМНОЕ СПАСИБО! =)


Это VBA? Где это надо написать?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Отследить событие BeforeDocumentClose
СообщениеДобавлено: 04 дек 2014, 18:02 
Не в сети
Content manager
Content manager
Аватара пользователя

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

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 05 янв 2015, 05:28 
Не в сети
Ветеран

Зарегистрирован: 06 май 2013, 13:01
Сообщений: 746
Откуда: Россия
Использую Visio c: 2013
Очков репутации: 18

Добавить очки репутацииУменьшить очки репутации
Sila писал(а):
я всегда сохраняю документ, Не спрашивая об этом ))

http://ithappens.me/story/5041


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

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



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

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


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

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