temporäre PW freigabe ohne Abfrage "Alle Nutzer dieser Tabelle dürfen:"

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

brownie_de
Beiträge: 3
Registriert: Di, 22.01.2019 11:20

temporäre PW freigabe ohne Abfrage "Alle Nutzer dieser Tabelle dürfen:"

Beitrag von brownie_de »

Skript.pdf
(33.93 KiB) 68-mal heruntergeladen
Hallo User,

nach langem Versuchen und Suchen komme ich mit meinem Problem einfach nicht weiter und versuche über diesen Weg Hilfe zu finden.

Für einen Freund erstelle ich eine CALC-Datei in der er nur in bestimmte Felder Werte eintagen darf, in anderen Feldern stehen z.B. Formeln oder Ergebnisse, auf die er keinen Zugriff haben soll.
Mein Freund ist leider "nur Anwender", soll bedeuten ich tue gut daran auf das Tabellenblatt einen Schreibschutz zu vergeben, was ich auch getan habe.

Weiter habe ich in der Datei die Möglichkeit über Buttons (mit anhängendem VB) eine neue Zeile einzufügen bzw. zu löschen.
Soweit funktioniert auch alles, auch die Sperre, dass nicht über die Funktion "Rückgängig" der Passwortschutz umgangen werden kann.

Jetzt hier mein Problem:
Immer wenn ich eine Zeile einfüge, oder auch lösche, wird beim automatischem setzen des Passwortschutzes (durch mein Skript) die Meldung (das Fenster) "Tabelle schützen" aktiviert, in der man das Passwort eingeben soll (das alleine mit OK zu bestätigen wäre noch in Ordnung, PW steht auf "" leer), aber jedesmal unter der Auswahl "Alle Nutzer dieser Tabelle dürfen:" die Markierung "Gesperrte Zellen auswählen" und/oder "Nicht gesperrte Zellen auswählen" anzukreuzen bzw. zu löschen, sehe ich bei meinem Freund als Gefahr.

Da bekomme ich dann ständig anrufe und ich muss dann per Telefon versuchen die Datei wieder zum Laufen zu bringen.

Im Anhang habe ich den Teil meines Skriptes mit der temporären Freigabe und dem erneutem Setzen des Passwortschutzes angefügt, auch ist der Teil mit dabei, in dem die "Rückgängig"-Funktion unterbunden wird.

Wichtig wäre mir eine Lösung, wie die Meldung (das Fenster) in der die Auswahl "Alle Nutzer dieser Tabelle dürfen:" die Markierung "Gesperrte Zellen auswählen" und/oder "Nicht gesperrte Zellen auswählen" für das Skript voreingestellt werden können.
Hier müsste die Auswahl für "Gesperrte Zellen auswählen" nicht angekreuzt sein
und die Auswahl für "Nicht gesperrte Zellen auswählen" angekreuzt sein.

Wenn es dann noch möglich wäre ohne PW-Eingabe wieder mit der Datei arbeiten zu können, wäre der Übertraum (wobei dass sollte ich noch hinbekommen).

Für jeden konstruktiven Hinweis bin ich sehr dankbar.
Schöne Grüße aus Mittelfranken
Brownie
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: temporäre PW freigabe ohne Abfrage "Alle Nutzer dieser Tabelle dürfen:"

Beitrag von Stephan »

für das aktive Tabellenblatt z.B.:

Code: Alles auswählen

Sub SchutzSetzen
	ThisComponent.CurrentController.ActiveSheet.protect("Passwort")
End Sub

Sub SchutzAufheben
	ThisComponent.CurrentController.ActiveSheet.unprotect("Passwort")
End Sub

Gruß
Stephan
brownie_de
Beiträge: 3
Registriert: Di, 22.01.2019 11:20

Re: temporäre PW freigabe ohne Abfrage "Alle Nutzer dieser Tabelle dürfen:"

Beitrag von brownie_de »

Hallo Stephan,
danke für deinen Tipp, funktioniert auch soweit, nur fehlt bei dieser Methode das Sperren der Zellen, die der User nicht erreichen soll.
Bestimmte Zellen sind gesperrt und um dies für den Zeitraum des Zeile einfügen bzw. Zeile löschen zu unterbrechen, muss ich den PW-Schutz aufheben, danach soll er wieder gesetzt werden. Aber genau dann erscheint dieses Abfragefenster (Tabelle schützen), in dem man an der einen Stelle ("Gesperrte Zellen auswählen") das Kreuz entfernen muss und genau diesen Teil würde ich gerne umgehen wollen.
Wie bereits geschrieben, habe ich schon einiges versucht und gesucht, bin aber bis jetzt noch nicht fündig geworden.
Gibt es hierzu eventuell auch eine Lösung?
Gruß
Brownie
Schöne Grüße aus Mittelfranken
Brownie
brownie_de
Beiträge: 3
Registriert: Di, 22.01.2019 11:20

Re: temporäre PW freigabe ohne Abfrage "Alle Nutzer dieser Tabelle dürfen:"

Beitrag von brownie_de »

Schade, aber trotzdem danke.

Unter Excel scheint es da etwas zu geben wie z.B. ActiveSheet.EnableSelection = x1UnLockedCells
Bin mir nicht sicher (muss ich mal unter Excel probieren) ob es genau das trifft, was ich benötige.
Frage, gibt es etwas wo Excel-Befehle den OO-Befehlen gegenüber gestellt werden, würde mir vielleicht auch weiter helfen.

Gruß
Brownie
Schöne Grüße aus Mittelfranken
Brownie
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: temporäre PW freigabe ohne Abfrage "Alle Nutzer dieser Tabelle dürfen:"

Beitrag von Stephan »

z.B. scheint Folgendes zum Schützen zu gehen:

Code: Alles auswählen

Option VBASupport 1
Sub Makro1()
    ActiveSheet.Protect
    ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
Frage, gibt es etwas wo Excel-Befehle den OO-Befehlen gegenüber gestellt werden
nein.
Das OO-API ansich ist hier dokumentiert:
http://www.openoffice.org/api/docs/comm ... le-ix.html


Gruß
Stephan
Antworten