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

Speicheroptionen unterdrücken bzw. erlauben

Speicheroptionen unterdrücken bzw. erlauben
04.09.2019 09:10:59
Chris
Guten Morgen liebe Excel-Gurus,
ich stehe vor folgender Herausforderung: Ich habe ein Excel-Formular, dass von vielen unterschiedlichen Usern ausgefüllt werden soll. Mein Ziel ist es, dass der User nicht über das Disketten-Symbol, Speichern unter oder STRG+S speichern kann, sondern der Bericht über einen Button abgeschlossen werden muss. Beim Anklicken des Buttons startet ein Makro, das verschienenen Kleinkram erledigt und unter anderem auch den Speicherpfad angibt.
Beim Stöbern hier im Forum bin ich auch auf einen Code gestoßen, um die verschiedenen Speicheroptionen zu unterdrücken und habe ihn noch um eine Message Box ergänzt:
Unter DieseArbeitsmappe:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If PublicAllowedToSave = False Then Cancel = True
MsgBox prompt:="Speichern nicht möglich, bitte schließen Sie den Bericht ab.",  _
Title:="Schichtbericht nicht abgeschlossen!", Buttons:=vbOKOnly + vbInformation
End Sub
So weit, so gut. Natürlich habe ich auch den Code für das Modul zum Aktivieren des Speicherns gefunden:
Option Explicit
Public PublicAllowedToSave As Boolean
Public Sub SaveMe()
PublicAllowedToSave = True
ThisWorkbook.Save
PublicAllowedToSave = False
End Sub
Jetzt kommt mein eigentliches Problem: Wie kann ich den Code sozusagen in mein bestehendes Makro "Abschluss Schichtbericht" integrieren bzw. drum herum bauen? Ich bräuchte zu Beginn des Makros "PublicAllowedToSave = True" und am Ende "ublicAllowedToSave = False". Hilfe :-)
Ich bin gespannt auf eure Lösungsvorschläge!
Gruß Chris

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speicheroptionen unterdrücken bzw. erlauben
04.09.2019 09:49:51
fcs
Hallo Chris,
im einfachsten Fall so:
Option Explicit
Public PublicAllowedToSave As Boolean
Public Sub Abschluss_Schichtbericht()
PublicAllowedToSave = True
'hier dein bisheriger Code zum Speichern
PublicAllowedToSave = False
End Sub

Wenn in deinem Makro Zeilen enthalten sind, die den Speicher-.Vorgang abbrechen, dann musst du vor dem Verlassen des Makros jeweils die Zeile
    PublicAllowedToSave = False

einfügen.
Das Makro unter DieseArbeitsmappe wie folgt anpassen:
'unter diese Arbeitsmappe
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If PublicAllowedToSave = False Then
Cancel = True
MsgBox prompt:="Speichern nicht möglich, bitte schließen Sie den Bericht " _
& "via Schaltfläche ab.", _
Title:="Schichtbericht nicht abgeschlossen!", Buttons:=vbOKOnly + vbInformation
End If
End Sub

So wird die Meldung nicht angezeigt, wenn du den Bereicht mit deinem Makro speicherst.
LG
Franz
Anzeige
AW: Speicheroptionen unterdrücken bzw. erlauben
04.09.2019 10:27:17
Chris
Hallo Franz,
vielen Dank für deine schnelle Antwort.
Funktioniert super, vielen Dank :-)
Grüße Chris
AW: Speicheroptionen unterdrücken bzw. erlauben
04.09.2019 10:40:20
Daniel
HI
prinizpell müsste das auch etwas einfacher gehen, ohne die Variable:
1. im BeforeSave-Eventmakro Cancel = True setzen ggf mit Hinweismeldung.
2. in dem Makro, welches die Datei speichern soll, schaltest du vor der Speicherung die automatsiche Ausführung der Events aus und hinterher wieder ein:
dh in DieseArbeitsmappe:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
MsgBox "Deine freundliche Hinweismeldung"
End Sub
in deinem Makro:
...
Application.EnableEvents = True
... hier der Befehl zum Speichern
Application.EnableEvents = False
...
Gruß Daniel
Anzeige
AW: Speicheroptionen unterdrücken bzw. erlauben
04.09.2019 11:07:28
Chris
Hallo Daniel,
danke auch für einen Ansatz. Ich habe ihn getestet, aber er läuft nicht sauber durch. Es scheint fast so, als ob das EnableEvents irgendwas in meinem Makro durcheinander bringt und sich "verheddert".
Viele Grüße Chris
AW: Speicheroptionen unterdrücken bzw. erlauben
04.09.2019 11:36:11
Daniel
HI
kommt natürlich darauf an, ob du an anderer stelle auf die Ausführung der Events angewiesen bist und wo du das Application.EnableEvents = False platziert hast.
ich würde das erst direkt vor dem Speicherbefehl ausführen und auch direkt nach dem Speicherbefehl wieder auf True setzen.
weiterhin musst du beachten, dass hier die zuletzt gemachte Einstellung nach Makroende erhalten bleibt.
dies wäre u.U. kritisch, wenn es im Zustand FALSE zu einem Fehlerabbruch kommt.
Diesbezüglich ist die Variante von Franz natürlich etwas fehlertoleranter.
Gruß Daniel
Anzeige
AW: Speicheroptionen unterdrücken bzw. erlauben
04.09.2019 12:55:19
Chris
Hi Daniel,
danke für einen Hinweis. Solange ich noch an der Datei rumbastle, werde ich in dem Fall bei der Lösung von Franz bleiben. Wenn ich allerdings fertig mit dem "basteln" bin, werde ich deinen Ansatz nochmal testen. :-)
Vielen Dank nochmal,
Grüße Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige