Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1300to1304
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

excel automatisch schliessen und mehr

excel automatisch schliessen und mehr
27.02.2013 09:17:54
Margarita
Hallo,
ich habe auch das Problem mit dem "Vergessenen Schliessen" der Excel Datei auf dem Netzlaufwerk.
Ich habe bisher im Modul 1 eine AutoClose mit folgendem Inhalt:
Sub Auto_Close()
Dim ws As Worksheet
Sheets("NSK").Visible = xlSheetVisible
For Each ws In Worksheets
If ws.Name  "NSK" Then ws.Visible = xlSheetHidden
Next ws
Sheets("ERG12-ERB-Pacht").Visible = True
Sheets("ERG13-ERB-Pacht").Visible = True
ThisWorkbook.Close
End Sub
Ich habe - wie im Beitrag beschrieben - den Code für "Diese Arbeitsmappe" und den Code für "Modul" übernommen. Nun würde ich gerne die Vorgaben aus meiner AutoClose einbauen, aber ich weiss
1. nicht wo ?
2. nicht wie ?
Alle bisherigen Versuche schlugen fehl.
Vielleicht hat ja jemand einen TIP für mich unwissenden excel-Anwender? :-)
Hier zur Erinnerung die beiden Codes aus Ihrem Baitrag.
Diese Arbeitsmappe:
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, 5, 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, 5, 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, 5, 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, 5, 0)
blnCloseNow = False
Application.OnTime dteCloseTime, "DoClose"
End Sub

Modul
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 5 Minuten nicht bearbeitet und" & vbCrLf & _
"wird bei weiterer Inaktivität in 1 Minute geschlossen."
CreateObject("WScript.Shell").PopUp strMsg, 5, 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
Nachricht wäre super. Vielen Dank schon mal im Voraus.
PS Dieses Forum finde ich einfach klasse. Vielen Dank dafür........
gruß Margit

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: excel automatisch schliessen und mehr
01.03.2013 12:26:42
fcs
Hallo Margit,
versuche es mal mit der folgenden Anpassung für die Workbook_BeforeClose-Prozedur:
Die AutoClose-Prozedur musst du dann löschen oder umbenennen.
Gruß
Franz
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet, bolSaved As Boolean
On Error Resume Next
bolSaved = Me.Saved
Application.OnTime dteCloseTime, "DoClose", , False
Application.EnableEvents = False
Me.Sheets("NSK").Visible = xlSheetVisible
For Each ws In Me.Worksheets
If ws.Name  "NSK" Then ws.Visible = xlSheetHidden
Next ws
Me.Sheets("ERG12-ERB-Pacht").Visible = True
Me.Sheets("ERG13-ERB-Pacht").Visible = True
Application.EnableEvents = True
If bolSaved = True Then Me.Save
End Sub

Anzeige
AW: excel automatisch schliessen und mehr
05.03.2013 07:24:17
Margarita
Hallo fcs, Franz,
das passt; suuuper. Vielen lieben Dank für Deine Mühe. Ich dachte schon keiner hat ne Lösung. Du bist die Rettung.
Gruß Margit

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige