Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2012, 13:53   #1
GWolf
Пользователь
 
Регистрация: 16.10.2008
Сообщений: 22
По умолчанию Зацикливание открытия, после закрытия

Добрый день, друзья!

На скрепке проект. И все бы ничего, но после завершения диалога запроса ФИО подотчетника по Cancel или красному крестику, происходит повторный запуск программы. А мне нужно просто завершение!
Где то чего то недовыгружается! Но вот где?
Помогите пожалуйста. Всем откликнувшимся заранее большое спасибо!

P.S. Можно конечно сделать UserForm и там никаких Cancel не создавать, а красный крестик закрыть! Но, хотелось бы понять причину такого поведения именно в данной реализации.
Вложения
Тип файла: rar AwOt_Mobil.rar (232.7 Кб, 13 просмотров)
GWolf вне форума Ответить с цитированием
Старый 08.11.2012, 14:12   #2
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Если принудительно не закрывать первое ваше окно с сообщением кто написал этот макрос и дождаться когда сработает таймер то при нажатии Cancel или крестика все прекрасно закрывается и повторно не активируется
Заказать макрос можно на сайте http://excel4you.ru/
Watcher_1 вне форума Ответить с цитированием
Старый 08.11.2012, 15:46   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Что-то вроде
Код:
Dim tt

Private Sub UserForm_Activate()

    tt = Now + TimeValue("00:00:05")
    Application.OnTime tt, "KillTheForm"

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    On Error Resume Next
    Application.OnTime EarliestTime:=tt, _
                       Procedure:="KillTheForm", Schedule:=False
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 08.11.2012, 16:00   #4
GWolf
Пользователь
 
Регистрация: 16.10.2008
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Что-то вроде ...
Сердечное спасибо Вам! Всем, кто откликнулся! Приведенный пример кода уважаемым Hugo121 решил мою проблему!
Не сочтите за наглость, но, если это возможно: прокоментируйте пожалуйста Ваш код. А то я что то туплю или мои лыжи не едут!
Я конечно использовал Ваш код, но хотелось бы понять на будущее ...
Если Вас не затруднит.
GWolf вне форума Ответить с цитированием
Старый 08.11.2012, 17:25   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Там просто
Есть публичная переменная, в которую заносится время запуска кода закрытия формы, по которому оное запускается.
При закрытии формы раньше по этой переменной этот Application.OnTime отменяется.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 09.11.2012, 11:35   #6
GWolf
Пользователь
 
Регистрация: 16.10.2008
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Там просто
Есть публичная переменная, в которую заносится время запуска кода закрытия формы, по которому оное запускается.
При закрытии формы раньше по этой переменной этот Application.OnTime отменяется.
Добрый день!
Значит, если я правильно понял, то весь канкан с перезакрытием у меня возникал из-за неотмены OnTime!
Век живи - век учись! Еще раз СПАСИБО!
GWolf вне форума Ответить с цитированием
Старый 09.11.2012, 11:45   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ну да.
Экселю дано задание в определённое время запустить макрос файла - он это и делает.
Если успеть закрыть Эксель - то тогда переоткрытия не будет. Но если Эксель работает - то он делает что сказали.
Ну а что там в этом макросе - это другой вопрос.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Восстановить файл после закрытия и сохранения m_v_v Microsoft Office Excel 26 03.02.2017 02:39
сохранение действий в программе после закрытия fins Общие вопросы Delphi 9 01.07.2015 18:59
Получить время от открытия до закрытия файла IFRSoff Microsoft Office Excel 2 28.01.2010 21:28
Хранение изображения после закрытия в Image artemavd Общие вопросы Delphi 14 18.01.2010 10:29
записанное в Edit сохранить после закрытия IVANSour Общие вопросы Delphi 6 21.01.2009 03:33