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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2010, 14:53   #1
Klim Bassenger
Форумчанин
 
Аватар для Klim Bassenger
 
Регистрация: 20.01.2009
Сообщений: 138
По умолчанию Скрыть форму по таймауту.

Всем привет!

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

То есть, если кто-то работал с формой, а потом ушел и забыл ее закрыть, то она должна сама закрываться через 5 минут.

Заранее благодарен!
Чтобы правильно задать вопрос, надо знать большую часть ответа.
Klim Bassenger вне форума Ответить с цитированием
Старый 27.09.2010, 15:56   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

приблизительно так:
(процедуры FixFormStatus и WasChanged надо будет самостоятельно написать.
если 5 минут ничего не происходило форма должна закрыться)

Код:
Public EndTime As Date, NextCheck As Date

Sub CloseForm()
  If форма_уже_закрыта Then Exit Sub ' сделайте проверку (тоже самостоятельно)
  If WasChanged Then
    StartCheck ' откладываем автозакрывание еще на 5 минут
  Else
    If Now >= EndTime Then UserForm1.Hide ' Не было изменений и вышло время - закрываем форму
    Else ' повторим проверку через минуту
      NextCheck = Now + TimeSerial(0, 1, 0)
      Application.OnTime NextCheck, "CloseForm"
    End If
  End If
End Sub

Sub StartCheck()
  FixFormStatus
  EndTime = Now + TimeSerial(0, 5, 0)
  NextCheck = Now + TimeSerial(0, 1, 0)
  Application.OnTime NextCheck, "CloseForm"
End Sub

Sub FixFormStatus()
  ' Зафиксировать состояние формы (значения элементов, активный элемент
End Sub

Function WasChanged() As Boolean
  WasChanged = False
  ' сравнить состояние формы с зафиксированным ранее
  WasChanged = True
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.09.2010, 18:15   #3
Klim Bassenger
Форумчанин
 
Аватар для Klim Bassenger
 
Регистрация: 20.01.2009
Сообщений: 138
По умолчанию

Спасибо!!!
И еще несколько вопросов...

1.При совместном доступе к файлу как сделать, чтобы другой человек не мог открыть файл даже для чтения?
2. Как отправить в экселе сообщение по сети через net send??
Чтобы правильно задать вопрос, надо знать большую часть ответа.
Klim Bassenger вне форума Ответить с цитированием
Старый 27.09.2010, 19:34   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

1. переименовать или переместить файл (спрятать его на время)
2. shell "net send ..."
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 27.09.2010 в 19:36.
IgorGO вне форума Ответить с цитированием
Старый 28.09.2010, 21:04   #5
Klim Bassenger
Форумчанин
 
Аватар для Klim Bassenger
 
Регистрация: 20.01.2009
Сообщений: 138
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
1. переименовать или переместить файл (спрятать его на время)
Блин... Всё гениальное просто!!!!
Еще раз спасибо!
Чтобы правильно задать вопрос, надо знать большую часть ответа.
Klim Bassenger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрыть форму в dll Dr.Badnezz Общие вопросы Delphi 2 21.05.2010 20:00
как скрыть форму? kos1nus Помощь студентам 4 08.12.2008 22:46
Как скрыть форму Михаил Юрьевич Общие вопросы Delphi 2 01.06.2008 15:37
Скрыть форму при запуске GAGARIN-NEW Общие вопросы Delphi 8 14.11.2007 17:51
Скрыть с панели задач форму! Oleg Romanchuk Помощь студентам 2 18.08.2007 08:11