Thema Datum  Von Nutzer Rating
Antwort
Rot Excel OnTime Funktion Probleme
23.11.2021 14:39:18 Josef Hochleitner
NotSolved
23.11.2021 15:02:06 Mase
NotSolved
23.11.2021 15:34:22 Josef Hochleitner
NotSolved
23.11.2021 16:42:31 Mase
NotSolved
23.11.2021 20:28:39 Josef
NotSolved
24.11.2021 00:26:14 Mase
NotSolved
24.11.2021 02:02:05 xlKing
Solved
24.11.2021 07:43:17 Mase
NotSolved
24.11.2021 08:19:04 Gast12179
NotSolved

Ansicht des Beitrags:
Von:
Josef Hochleitner
Datum:
23.11.2021 14:39:18
Views:
321
Rating: Antwort:
  Ja
Thema:
Excel OnTime Funktion Probleme

Hallo zusammen,

ich habe bei uns in der Firma eine viel genutzte Datei mit einem Makro versehen, bei dem nach 5 minuten inaktivität die Datei gespeichert und geschlossen wird. Das tolle an der lösung ist, dass im linken unteren Teil des Fensters ein Timer läuft der nach z.b. einem Klick oder ähnlichem zurückgesetzt wird. Das Problem an der Sache ist folgendes: Wenn ich gleichzeitig noch eine andere Excel Datei mit einem Makro geöffnet habe, und die erste Datei schließe, wird Datei 1 immer wieder neu geöffnet. Ich habe zumindest schon mal gefunden dass es an der OnTime funktion liegen könnte. Leider beherrsche ich VBA nur so weit, dass ich code kopieren und einfügen kann. Ja, das Makro an sich ist auch nur kopiert. Es besteht übrigens nur aus einem Modul, einer Userform und dem Code in der Arbeitsmappe:

Modul1: 

Public Const ciIntervall As Integer = 1
Public Const dsMacro As String = "AutoClose"
Public gdNextTime As Double
Private iWait As Integer
Const cMax = 300 ' -> 5 Minuten
Dim Zeit As Date

Sub AutoClose()
    iWait = iWait + 1
    If cMax - iWait > 0 Then
        Application.StatusBar = Format(Zeit - TimeSerial(0, 0, iWait), "hh:mm:ss")
        gdNextTime = Now + TimeSerial(0, 0, ciIntervall)
        Application.OnTime gdNextTime, dsMacro
    Else
        ThisWorkbook.Save
        ThisWorkbook.Close
    End If
End Sub

Sub AutoCloseStart()
    iWait = 0
    Zeit = TimeSerial(0, 0, cMax)
    Application.StatusBar = Zeit
    Call AutoClose
End Sub

Sub AutoCloseStop()
   On Error Resume Next
   Application.StatusBar = ""
   Application.OnTime earliesttime:=gdNextTime, _
      procedure:=dsMacro, schedule:=False
End Sub

Code Arbeitsmappe:


Private Sub Workbook_BeforeClose(Cancel As Boolean)
   On Error Resume Next
   Call AutoCloseStop
End Sub

Private Sub Workbook_Open()
Load StartInfo
StartInfo.StartUpPosition = 2
StartInfo.Show
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    AutoCloseStop
    AutoCloseStart
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    AutoCloseStop
    AutoCloseStart
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
    AutoCloseStop
    AutoCloseStart
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
    AutoCloseStop
    AutoCloseStart
End Sub

Hat hier jemand einen Tipp oder eine Idee wie ich das erneute öffnen der Datei verhindern kann?


Danke und viele Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Excel OnTime Funktion Probleme
23.11.2021 14:39:18 Josef Hochleitner
NotSolved
23.11.2021 15:02:06 Mase
NotSolved
23.11.2021 15:34:22 Josef Hochleitner
NotSolved
23.11.2021 16:42:31 Mase
NotSolved
23.11.2021 20:28:39 Josef
NotSolved
24.11.2021 00:26:14 Mase
NotSolved
24.11.2021 02:02:05 xlKing
Solved
24.11.2021 07:43:17 Mase
NotSolved
24.11.2021 08:19:04 Gast12179
NotSolved