Thema Datum  Von Nutzer Rating
Antwort
Rot Wechsel der Datei, aber Code der davorigen Datei läuft noch
27.05.2020 20:07:54 Lukas
NotSolved
27.05.2020 20:33:03 Gast01234
Solved
27.05.2020 21:21:04 Gast2998
NotSolved
27.05.2020 21:31:26 Gast01234
NotSolved
27.05.2020 22:13:36 Gast97911
NotSolved
27.05.2020 22:15:58 Gast72592
NotSolved
28.05.2020 00:27:19 Gast01234
NotSolved
28.05.2020 10:52:34 Gast45570
NotSolved
28.05.2020 17:54:11 Gast01234
NotSolved

Ansicht des Beitrags:
Von:
Lukas
Datum:
27.05.2020 20:07:54
Views:
1299
Rating: Antwort:
  Ja
Thema:
Wechsel der Datei, aber Code der davorigen Datei läuft noch

Hallo,

ich habe derzeit folgende Situation, welche mir ständig einen Strich durch die Rechnung machen möchte:

Der Nutzer befindet sich in Bedarfsanzeige.xlsm und möchte gerne in Lieferante.xlsm einen neuen Lieferant hinzufügen und dann wieder zurück in Bedarfsanzeige.xlsm. Nun habe ich aber in Lieferante.xlsm eine Automatische Schließung mit eingebunden, welche die Datei nach 5 Minuten schließen soll, wenn sie nicht mehr bearbeitet wird. Sobald ich aber wieder in Bedarfsanzeige.xlsm wechsel, bekomme ich nach 4 Minuten die Benachrichtigung der Automatischen Schließung, obwohl Lieferante.xlsm geschlossen ist, nicht mehr in der Taskleiste angezeigt wird und auch nicht mehr in Visual Basic zu sehen ist.

 

Der Code, welchen ich für das wechseln der Dateien verwende:

Workbooks.Open (Datei)


ThisWorkbook.Close SaveChanges:=True

 

Der Code, welchen ich für die Automatische Schließung verwende:

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime dteCloseTime, "DoClose", , False
End Sub

Private Sub Workbook_Open()
dteCloseTime = Now + TimeSerial(0, 4, 0)
Application.OnTime dteCloseTime, "DoClose"
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Application.OnTime dteCloseTime, "DoClose", , False
dteCloseTime = Now + TimeSerial(0, 4, 0)
blnCloseNow = False
Application.OnTime dteCloseTime, "DoClose"
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
On Error Resume Next
Application.OnTime dteCloseTime, "DoClose", , False
dteCloseTime = Now + TimeSerial(0, 4, 0)
blnCloseNow = False
Application.OnTime dteCloseTime, "DoClose"
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Application.OnTime dteCloseTime, "DoClose", , False
dteCloseTime = Now + TimeSerial(0, 4, 0)
blnCloseNow = False
Application.OnTime dteCloseTime, "DoClose"
End Sub

 

Option Explicit

Public dteCloseTime As Date, blnCloseNow As Boolean

Public Sub DoClose()
Dim strMsg As String
If blnCloseNow = False Then
  strMsg = "Diese Datei wurde seit 4 Minuten nicht bearbeitet und" & vbCrLf & _
    "wird bei weiterer Inaktivität in 1 Minute geschlossen."
  CreateObject("WScript.Shell").PopUp strMsg, 10, ThisWorkbook.Name, _
    vbOKOnly + vbInformation + vbSystemModal
  blnCloseNow = True
  dteCloseTime = Now + TimeSerial(0, 1, 0)
  Application.OnTime dteCloseTime, "DoClose"
Else
  If Workbooks.Count = 1 Then
    If ThisWorkbook.Saved = False Then
      ThisWorkbook.Save
    End If
    Application.Quit
  Else
    ThisWorkbook.Close True
  End If
End If
End Sub

 

Übersehe ich hier irgendwo einen wichtigen Punkt, oder weshalb wird der Code weiterhin ausgeführt, obwohl die Datei nicht mehr geöffnet ist ?

 

Gruß Lukas


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 Wechsel der Datei, aber Code der davorigen Datei läuft noch
27.05.2020 20:07:54 Lukas
NotSolved
27.05.2020 20:33:03 Gast01234
Solved
27.05.2020 21:21:04 Gast2998
NotSolved
27.05.2020 21:31:26 Gast01234
NotSolved
27.05.2020 22:13:36 Gast97911
NotSolved
27.05.2020 22:15:58 Gast72592
NotSolved
28.05.2020 00:27:19 Gast01234
NotSolved
28.05.2020 10:52:34 Gast45570
NotSolved
28.05.2020 17:54:11 Gast01234
NotSolved