• Merhaba Dostlar,
    yeni forum ile yola devam ediyoruz. Bu büyüklükte bir forum yeni bir sisteme taşımak epey bir yordu bizi. Üstelik bir de yeni XenForo Forum altyapısına geçtik.
    Eminim çok yerde hatalar ve eksikler vardır. Kısa sürede toparlayıp hızlı bir şekilde yolumuza devam edeceğiz.
    Lütfen gördüğünüz eksik ve hataları aşağıdaki bölüme dönderin. Sırasıyla inceleyip yapılabilirliği varsa üzerinde çalışacağım.
    HATA BİLDİRİM BAŞLIĞI
    Forumdaki kullanıcı adınızla ile giriş yapamıyorsanız kullanıcı adınızın sonuna 1 veya 2 gibi rakamlar ekleyerek deneyin.

    Hepimize Hayırlı Olsun!
    Hüseyin
ALTIN ÜYELİK Hakkında Bilgi
-----------------------

Belirlenen Süre Kadar Bekledikten Sonra Excel Dosyasını Kapatma

uzeyir.celikel

Altın Üye
Altın Üye
Katılım
27 Aralık 2014
Mesajlar
24
Beğeniler
0
Excel Vers. ve Dili
TR
#1
Bu konuda bir başlık açılmış fakat benim tam ihtiyacımı karşılamadı!

Dosya içinde farklı macrolar var açılış ekranında süre falan sormadan arka planda verilmiş olan sürede işlem yapmayınca kapatacak bir makro eklemek istiyorum.
Forumda olan bazı örnekleri uygulamaya çalıştım olmadı.
Yardımcı olursanız çok sevinirim...

:rolleyes::rolleyes::rolleyes:
 

anemis

Altın Üye
Altın Üye
Katılım
10 Ekim 2013
Mesajlar
347
Beğeniler
20
Excel Vers. ve Dili
Excel 2016 (64bit) - Türkçe
#2
Kod:
Option Explicit
Private Const Gecikme As Date = 5 / 86400
Private Const Onerilen_Zaman As Date = 10 * 60 / 86400
Private Süre As Variant
Private Temps As Date
Private Zaman As Date

Private Sub TimeSlot(Optional Reset As Boolean)
    On Error Resume Next
    Application.OnTime Temps, Procedure:="ThisWorkbook.TimeSlot", Schedule:=False
    If IsMissing(Reset) Or (Reset = False) Then
        If (Zaman <= Gecikme) Then
            ThisWorkbook.Close True
        End If
        Zaman = Zaman - Gecikme
    Else
        Zaman = Süre
    End If
    Temps = Now + Gecikme
    Application.OnTime Temps, Procedure:="ThisWorkbook.TimeSlot"
    ActiveWindow.Caption = Split(ActiveWindow.Caption, " [")(0) & " [" & Zaman & "]"
End Sub

Private Sub Workbook_Open()
    Do
        Süre = Application.InputBox("Varsayılan zaman önerilmektedir " & Onerilen_Zaman & ". " & _
        "Girdi formatı '00:00:00'" & vbCrLf & vbCrLf & _
        "Kalan süre yukarıda gösterilecektir. " & vbCrLf, _
        "Saati ayarlayın", Type:=2)
    Loop Until (Süre = False) Or IsDate(Süre)
    Süre = IIf(IsDate(Süre), Süre, Onerilen_Zaman)
    TimeSlot True
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    TimeSlot True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnTime Temps, Procedure:="ThisWorkbook.TimeSlot", Schedule:=False
End Sub
Kodlar bana ait değildir. başka bir excel forumunda görmüştüm.
açılışta süre soruyor. ne kadar zaman işlem yapılmazsa kapansın belirtiyorsunuz.
 

uzeyir.celikel

Altın Üye
Altın Üye
Katılım
27 Aralık 2014
Mesajlar
24
Beğeniler
0
Excel Vers. ve Dili
TR
#3
Bunları bende gördüm açıklamada yazdığım gibi açılışta sormaması gerekli.
Birinde çözer gibi oldum fakat menüyü kitledi...
 
Son düzenleme:

netzone

Altın Üye
Altın Üye
Katılım
10 Mayıs 2006
Mesajlar
130
Beğeniler
18
Excel Vers. ve Dili
MS Office 2016 TR
#4
Merhaba,

Farklı bir platformdan bulduğum kodları denedim çalışıyor. Dosyayı inceleyiniz 10 saniye hareketsiz kalınca kapatmasını sağlıyor.

Çalışma Kitabı içine;
Kod:
Option Explicit

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
ResetTimer
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ResetTimer
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
ResetTimer
End Sub
Modül İçine;
Kod:
Public CloseDownTime As Variant

Public Sub ResetTimer()
On Error Resume Next
If Not IsEmpty(CloseDownTime) Then Application.OnTime EarliestTime:=CloseDownTime, Procedure:="CloseDownFile", Schedule:=False
CloseDownTime = Now + TimeValue("00:00:10") ' hh:mm:ss
Application.OnTime CloseDownTime, "CloseDownFile"
End Sub

Public Sub CloseDownFile()
On Error Resume Next
Application.StatusBar = "Inactive File Closed: " & ThisWorkbook.Name
ThisWorkbook.Close SaveChanges:=True
End Sub
İyi çalışmalar.
 

Ekli dosyalar

uzeyir.celikel

Altın Üye
Altın Üye
Katılım
27 Aralık 2014
Mesajlar
24
Beğeniler
0
Excel Vers. ve Dili
TR
#6
Deneme dosyasında bulunan belirli sürede kapanma macrosunu mimari takip dosyası içinde çalıştıramıyorum.
çakışmalar var...

mimari dosya:
kullanıcı: ADMİN
şifre : 0000
koruma şifre:0000
 

Ekli dosyalar

uzeyir.celikel

Altın Üye
Altın Üye
Katılım
27 Aralık 2014
Mesajlar
24
Beğeniler
0
Excel Vers. ve Dili
TR
#9
süre dolduğunda kapatma uyarısı veriyor ve tercihe göre kapatıyor...
Belki birilerine lazım olur...
 

Ekli dosyalar

Son düzenleme:
Üst