Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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

After Save Lösung (nicht für SaveAs)

After Save Lösung (nicht für SaveAs)
HaJoLu
Hallo,
ich stand heute vor dem Problem, daß ich in dem BeforeSave-Event mehrere Buttons versteckt habe und sie nach dem Speichern aber wieder automatisch angezeigt bekommen wollte.
Also habe ich hier im Forum und Archiv nachgeschaut und mußte feststellen, daß das zwar schon wiederholt gesucht wurde, aber noch keiner eine Lösung hat.
Gerne hätte ich auf den Beitrag im Archiv geantwortet, da das aber nicht geht, schreibe ich hier einfach meine Lösung hin.
Zunächst benötigt man eine Public-Variable, die verhindert, daß man sich selbstblockiert, da beim manuellen Speichern-Aufruf natürlich wieder das BeforeSave-Event ausgelöst wird.
Anschließend verwendet man (zum Staunen Aller) das BeforeSave-Event, um das SaveAfter zu bewirken.

Public boIsSaving As Boolean	' verhindert das Selbstblockieren
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Not boIsSaving Then	' teste internen Marker
HideButtons		' Aktion, die bei JEDEM Speichern (auch "Speichern unter")
' durchgeführt wird
If Not SaveAsUI Then	' SaveAsUI=true, wenn "Speichern unter" aufgerufen wurde - hierfür
' wäre mehr Aufwand notwendig, um dieses auch noch zu unterstützen
DoSomething		' Aktion, die NICHT bei "Speichern unter" ausgeführt wird
Cancel = True	' verhindert, das Excel NACH dem Durchlauf von BeforeSave speichert
boIsSaving = True	' internen Marker setzen, daß aktuell die Speicherung läuft
ThisWorkbook.Save	' Speichern manuell durchführen
boIsSaving = False	' internen Marker zurücksetzen, damit nächste Speicherung auch
' noch so funktioniert
ShowButtons		' die gewünschte Aktion, die NACH dem Speichern ausgeführt wird
End If ' Not SaveAsUI
End If ' Not boIsSaving
End Sub

Ich hoffe, daß damit viele die nach einer solchen Lösung suchen, etwas anfangen können und meine Kommentare ausreichend für das Verständnis sind.
Also einfach nur die 3 Einträge "HideButtons", "DoSomething" und "ShowButtons" gegen die eigenen Aktionen ersetzen.
--
Mit freundlichen Grüßen
HaJoLu

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
Warum 'vsteckst' du Buttons vor d.Speichern? ...
21.10.2011 15:19:38
Luc:-?
…Die wdn doch dann trotzdem mitgespeichert, HaJoLu,
nur eben unsichtbar!
Gruß Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige