Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wie laesst sich Sicherheit erwirken ...

Wie laesst sich Sicherheit erwirken ...
16.10.2005 01:05:59
Norbert
Hallo,
die Freude ueber den geglueckten Autostart verging leider schnell, weil:
Alle Tabellenblaetter sollen eigentlich default geschuetzt werden.
Ist der Schutz jedoch aktiv, versagt die Methode "UserForm.Show".
Bei deaktiviertem Schutz, kann der Anwender die Daten jedoch manipulieren,
genau dies sollte verhindert werden, d.h. nur fuer den Moment, in dem der
VBA-Code in der UserForm schreibt, sollte der Schutz aufgehoben werden.
Was nuetzen komplizierteste Plausibilitaetsfunktionen, wenn der User danach
von Hand die Daten aendern kann ... :-((
Also, wie kann ich den Zugriff des Anwenders auf die Daten, ausser ueber die UserForm, wirkungsvoll verhindern ?
m. b. G. Norbert
_____________________
e.o.m.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie laesst sich Sicherheit erwirken ...
16.10.2005 01:19:28
chris
Hallo das könntest du so lösen das du die Sheets schützt und bevor deine Userform in die zellen schreiben möchte du den Schutz mit ActiveSheet.unprotect passwort wieder aufhebst und danach gleich wieder schützt.
Hoffe das Hilft dir weiter.
grüße Christian
AW: Wie laesst sich Sicherheit erwirken ...
16.10.2005 01:54:35
Nepumuk
Hallo Norbert,
folgendes Makro in das Klassenmodul "DieseArebitsmappe"
Private Sub Workbook_Open()
    Dim objSheet As Worksheet
    For Each objSheet In Me.Worksheets
        objSheet.Protect Password:="DeinKennwort", UserInterfaceOnly:=True
    Next
End Sub

Damit haben Makros Zugriff auf die Tabellen, ohne dass du den Schutz aufheben musst.
Gruß
Nepumuk

Anzeige
AW: Wie laesst sich Sicherheit erwirken ...
16.10.2005 02:49:42
Norbert
Hi Nepomuk,
danke - das probiere ich gleich nach dem Fruehstueck aus.
Mir kommen derzeit zu viele Tipfehler unter ...
PS:
bist Du irgendwie mit 'Nepomuk2' verwandt ... :-)
m. b. G. Norbert
_____________________
e.o.m.
AW: Wie laesst sich Sicherheit erwirken ...
16.10.2005 11:22:42
Norbert
Hi Nepomuk,
habe es nun getestet.
Der Blattschutz macht ja nur wirklich Sinn,
wenn er ueber das Ende der Session hinaus besteht, also fuer immer gilt.
Dann jedoch passiert genau dieses - guckst Du:
Userbild
Damit ist die eigentliche Applikation nicht mehr lauffaehig ... :-(
Was nun ... ?
m. b. G. Norbert
_____________________
e.o.m.
Anzeige
AW: aber so geht es ... glaube ich ...
16.10.2005 12:27:02
Norbert
Hallo,
in der Prozedur "Workbook_open()" hebt man vor "UserFormZF.Show" den Blattschutz auf und setzt ihn in der Prozedur "UserForm_Initialize()" sofort wieder. Zusammen mit einem Schutz des VBA-Projektes kann man IMHO so verhindern, dass ein Anwender Daten eingibt, ohne die UserForm zu benutzen.
Sacht mal was dazu ...
Vielleicht bin ich ja auch auf dem Holzwege ...
m. b. G. Norbert
_____________________
e.o.m.
AW: Wie laesst sich Sicherheit erwirken ...
16.10.2005 13:05:09
Nepumuk
Hi,
in deiner Routinen kann ich den Schutz der Tabellen nicht entdecken, wie ich ihn in meiner ersten Antwort beschrieben habe. Der Fehler kommt nicht durch das laden des Userforms, sondern weil im Activate- bzw. Initialize - Ereignis auf die Tabelle zugegriffen wird. Damit du an die, den Fehler auslösende Zeile kommst, ändere mal im VBA - Editor unter Extras - Optionen - Allgemein - Unterbrechen bei Fehlern - die Option auf "In Klassenmodul".
Gruß
Nepumuk

Anzeige
AW: Wie laesst sich Sicherheit erwirken ...
16.10.2005 14:30:04
Norbert
Hi,
natuerlich steht er da nicht drin.
Der Schutz muss/soll ja immer eingeschaltet sein !
Also habe ich ihn einmalig mit einer seperaten Funktion gesetzt.
Von da an startete die UserForm nicht mehr, nicht beim Oeffnen und auch nicht aus dem VBA-Editor heraus. Nimmt man den Schutz weg, startet sie wieder, also liegts am Schutz. Steht ja auch so in der Fehlermeldung. Jetzt entferne ich den Schutz vor dem Starten und setze ihn danach sofort wieder. Finde ich zwar bloed, aber es funktioniert. Ob es in Office 2003 dann auch noch gehen wird, muss man abwarten.
m. b. G. Norbert
_____________________
e.o.m.
Anzeige
AW: Wie laesst sich Sicherheit erwirken ...
16.10.2005 16:03:24
Herbert
Hi,
"natuerlich steht er da nicht drin..."
das zeigt, dass du das nicht verstanden hast. Wenn du es nicht verstehst frag nach und probier es zumindest mal aus.
mfg Herbert
AW: Wie laesst sich Sicherheit erwirken ...
16.10.2005 17:56:20
Norbert
Hi,
was mache ich nur falsch ...
Habe aus zwei Vorschlaegen ein "funktionierende" Loesung gebaut.
Logischerweise entspricht sie weder dem einen noch dem anderen Vorschlag 100%-ig.
Habe auch noch versucht zu erklaeren "warum" die Aktivierung des Schutzes an dieser Stelle fuer "mein" Projekt "keinen" Sinn macht. Aber das wird einfach ignoriert, da fehlem mir dann einfach die Worte ... :-((
m. b. G. Norbert
_____________________
e.o.m.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige