Schließen von Excel verhindern

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm TextBox


Excel-Version: 2000
nach unten

Betrifft: Schließen von Excel verhindern
von: Uwe
Geschrieben am: 02.05.2002 - 12:15:04

Hallo leute,

kann ich in einem VBA-Code verhindern, daß ein User eine Arbeitsmappe oder Excel manuell schließt??

Ich möchte erreichen, daß der User ausschließlich über einen Beenden-Button im Makro-Ablauf (Userform) das Makro verlassen kann.

Geht das ?

Uwe


nach oben   nach unten

Re: Schließen von Excel verhindern
von: Sven
Geschrieben am: 02.05.2002 - 13:19:33

Also ich habe das folgendermaßen gelöst:

Beim Öffnen wird erstmal alles ausgeblendet was nicht relevant ist, also also CommandBars und Menüleiste etc. und in den Ganzen Bildschirm geschaltet.

Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.DisplayFullScreen = True <-- Das hier ist wichtig !!
Application.CommandBars("Standard").Visible = False
Application.CommandBars("Formatting").Visible = False
Application.CommandBars("Worksheet Menu Bar").Enabled = False
Application.DisplayFormulaBar = False
Application.DisplayStatusBar = False
ActiveWindow.DisplayWorkbookTabs = False
Application.UserName = Environ("USERNAME")
Application.Caption = "Bearbeitung durch " + Environ("USERNAME")
Application.ScreenUpdating = True
End Sub

Beim schliessen sollte natürlich alles wieder auf Standard gesetzt werden.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Application.CommandBars("Standard").Visible = True
Application.CommandBars("Formatting").Visible = True
Application.CommandBars("Worksheet Menu Bar").Enabled = True
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
Application.DisplayFullScreen = False
ActiveWindow.DisplayWorkbookTabs = True
Application.ScreenUpdating = True
ActiveWorkbook.Saved = True
End Sub

Dann habe ich auch noch meine eigene CommandBar in der folgende Makros aufgerufen werden:

Sub endeMitSpeichern()
Application.ScreenUpdating = False
Application.CommandBars("Worksheet Menu Bar").Enabled = True
Application.CommandBars("Standard").Visible = True
Application.CommandBars("Formatting").Visible = True
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayWorkbookTabs = True
Application.DisplayFullScreen = False
Application.ScreenUpdating = False
ActiveWorkbook.Save
Application.Quit
End Sub

Sub endeOhneSpeichern()
Application.ScreenUpdating = False
Application.CommandBars("Worksheet Menu Bar").Enabled = True
Application.CommandBars("Standard").Visible = True
Application.CommandBars("Formatting").Visible = True
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayWorkbookTabs = True
Application.DisplayFullScreen = False
Application.ScreenUpdating = False
ActiveWorkbook.Saved = True
Application.Quit
End Sub

Überflüssigen Code habe ich aus Platzgründen entfernt. Ich habe mir sicherheitshalber noch einen Shortcut vorbereitet mit dem ich die Menüleiste und weiteres bei Bedarf einblenden kann:

Sub MenueAktiv()
Application.CommandBars("Worksheet Menu Bar").Enabled = True
CommandBars("Standard").Visible = True
CommandBars("Formatting").Visible = True
ActiveWindow.DisplayWorkbookTabs = True
End Sub

Hoffe, damit schon mal einen Ansatz zum Probieren gegeben zu haben.

MfG

nach oben   nach unten

Re: Schließen von Excel verhindern
von: Dieter
Geschrieben am: 03.05.2002 - 07:56:57

ich habe das wie folgt gelöst.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Start").txt_Kennwort <> "test" Then
Cancel = True
End If
End Sub

die Arbeitsmappe kann erst geschlossen werden wenn ich in der TEXTbox den wert test eingebe.


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Schließen von Excel verhindern"