Meldungen / Popups unterdrücken

noreya

Mitglied
Hallo!

Diesmal will ich Meldungen von Excel unterdrücken: Mein Makro löscht ein Tabellenblatt und ich brauche die Meldung "Wirklich löschen" nicht. Kann man das irgenwie unterdrücken?
Ich weiß, dass man Fehler in VBA abfangen kann - aber wie sieht es mit den Excel-Meldungen aus?

Und noch eine Frage zu Meldungen - diesmal will ich sie haben, aber sie kommt nicht: Wenn man manuell Blattschutz auf eine Datei legt (Extras - Schutz - Blatt) bekommt man die Möglichkeit ein Password einzugeben. Diese Möglichkeit will ich auch haben, wenn ich das Blatt mit einem Makro schütze. Geht das?

Das wär so super : )
Ich bin gespannt
noreya
 
Hi,

nutze das Application Object:

Application.DisplayAlerts = False

Zur zweiten Frage ist mir keine Lösung bekannt. Also einen kleinen Workaround bauen :)

Gruß
Das Orakel
 
Zuletzt bearbeitet:
Danke!
Application.DisplayAlerts = False klappt prima :)

Hast Du schon an was Konkretes gedacht, als Du mir vorgeschlagen hast einen Workaround zu bauen?! Mir fällt da nämlich nix ein :(

Wenn ich ein Makro aufnehme, in dem ich das Blatt schütze, wird nur folgender Code geschrieben:

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

Egal, ob ich ein Password eingebe oder nicht.

Und noch eine Frage drängt sich mir gerade auf: Kann ich es irgendwie abfangen, wenn der Nutzer den Blattschutz aufhebt? Quasi der "Blattschutz-Aufhebe-Event". Da könnte ich doch eine Meldung ausgeben, oder den Blattschutz gleich wieder setzen, oder oder oder...

bis später
noreya
 
Das einzige was mir einfällt ist in einem Schleifenkonstrukt das Passwort mittels InputBox zweimal abzufragen; prüfen, ob die EIngaben gleich gewesen sind; und dass dann für den Protect zu nutzen. Hat nur einen Schönheitsfehler: Es gibt keine Sternchen :)

Gruß
Das Orakel
 
Du kannst dir natürlich auch selbst eine Abfrageform bauen, einfach eine kleine Form, zwei Textboxen drauf (ev. noch Labels zum Beschriften) und 2 Buttons (OK; Abbrechen). Dauert 5 Minuten, die Textboxen kannst du dann auch als Passwortfelder einstellen (dann hast du die "*").

Leider kenne ich keine Möglichkeit, den Protect-Eventhandler umzubiegen (was nicht heißt, dass es nicht geht, ich habe - glaube ich zumindest - mal so was gesehen), wenn du ein Passwort verwendest und der User es nicht kennt, kommt er sowieso nicht rein. Und um das Starten über das Menu zu verhindern, kannst du ihm ja das Menu so konfigurieren, dass er den Punkt nicht mehr hat.


Der Doc!
 
Guten Morgen Doc und Danke euch beiden!

Mir tuen sich da gerade ganz neue Welten auf: "das Menu so konfigurieren, dass er den Punkt nicht mehr hat" - Das geht?! Wow - das würde mich ja plätten!

Das mit der Abfrage-Form ist nicht mein Problem. Ich weiß nur nicht, wie ich an das Protect rankomme:
Wie fange ich ab, wenn der Nutzer den Blattschutz aufhebt?
Oder was muss ich an dem Befehl
"ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True"
ändern, damit ein Password drauf gelegt wird?
Soll heißen: Password vom Nutzer abfragen kann ich aber wie sage ich dem Blattschutz, dass er mit Password geschützt is?!

Vielleicht hat noch jemand eine Idee, wenn ihr wisst, worum es geht: Mein Makro soll 60 Dateien öffnen und einen passwordgeschützen Blattschutz drauflegen. Dann gehen die Dateien an 60 verschiedene Leute - und die sollen da nicht mehr drin rumpfuschen dürfen.
 
Zuletzt bearbeitet:
Orakel, Du hast mir geholfen, ohne es zu wissen : )

Unter dem Thread "Druckdialog - Button abfangen" hast Du den Hinweis auf Application.Dialogs gegeben.
Und siehe da:

Code:
Application.Dialogs(xlDialogProtectDocument).Show

Das ermöglicht zwar noch nicht, automatisch ein Password an alle 60 Dateien zu vergeben, aber zumindes wird der Dialog schon mal angezeigt!
 
Na da kann ich wieder nur mal sagen: "Die Wege eines Orakels sind unergründlich" :)

Gruß
Das Orakel
 
Zurück