Form u bir süre hiç işlem yapılmadığında kapatmak

Katılım
31 Mart 2008
Mesajlar
91
Excel Vers. ve Dili
2003
arkadaşlar, uygulamamızda açık olan bir formu hiç işlem yapmadığızda mesela 120 sn. sonra kod ile DoCmd.Quit yaptırabilirmiyiz, bunun yapılması için yöntem nedir? mouse hareketini mi dinlemesi gerekiyor, fikriniz varsa lütfen paylaşın
teşekkür ederim.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;

Formun kod bölümüne alttaki kodları yapıştırın ve formun süre ölçer aralığını 1000 yapınız..

Kod:
Sub Form_Timer()
         ' IDLEMINUTES determines how much idle time to wait for before
         ' running the IdleTimeDetected subroutine.
         Const IDLEMINUTES = 1 ' 1 dakika işlem yapılmazsa kapanır.

         Static PrevControlName As String
         Static PrevFormName As String
         Static ExpiredTime

         Dim ActiveFormName As String
         Dim ActiveControlName As String
         Dim ExpiredMinutes

         On Error Resume Next

         ' Get the active form and control name.

         ActiveFormName = Screen.ActiveForm.Name
         If Err Then
            ActiveFormName = "No Active Form"
            Err = 0
         End If

         ActiveControlName = Screen.ActiveControl.Name
            If Err Then
            ActiveControlName = "No Active Control"
            Err = 0
         End If

         ' Record the current active names and reset ExpiredTime if:
         '    1. They have not been recorded yet (code is running
         '       for the first time).
         '    2. The previous names are different than the current ones
         '       (the user has done something different during the timer
         '        interval).
         If (PrevControlName = "") Or (PrevFormName = "") _
           Or (ActiveFormName <> PrevFormName) _
           Or (ActiveControlName <> PrevControlName) Then
            PrevControlName = ActiveControlName
            PrevFormName = ActiveFormName
            ExpiredTime = 0
         Else
            ' ...otherwise the user was idle during the time interval, so
            ' increment the total expired time.
            ExpiredTime = ExpiredTime + Me.TimerInterval
         End If

         ' Does the total expired time exceed the IDLEMINUTES?
         ExpiredMinutes = (ExpiredTime / 1000) / 60
         If ExpiredMinutes >= IDLEMINUTES Then
            ' ...if so, then reset the expired time to zero...
            ExpiredTime = 0
            ' ...and call the IdleTimeDetected subroutine.
            IdleTimeDetected ExpiredMinutes
         End If
      End Sub
 Sub IdleTimeDetected(ExpiredMinutes)
      Application.Quit acSaveYes
   End Sub
 
Katılım
31 Mart 2008
Mesajlar
91
Excel Vers. ve Dili
2003
HIZIR gibi yeti&#351;tiniz say&#305;n beab05, eksik olmay&#305;n in&#351;allah...
harikas&#305;n&#305;z demi&#351;miydim:)
 
Katılım
31 Mart 2008
Mesajlar
91
Excel Vers. ve Dili
2003
beab05 hocam..
burada ki = Sub IdleTimeDetected(ExpiredMinutes)
Application.Quit acSaveYes
End Sub
i&#231;in Ana Men&#252; command click button u etkin yap yani mouse la t&#305;kla diyebilirmiyiz
bu komut tu&#351;uyla &#231;&#305;k&#305;nca kullan&#305;c&#305; vs. kaydediyor da..
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Oraya istedi&#287;iniz her olay&#305; atayabilirsiniz tabii ki. &#304;lla &#231;&#305;k&#305;&#351; yapmak zorunda de&#287;ilsiniz..
 
Üst