Tabellenblatt schützen (nicht einsehbar machen)

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von Ulti »

Hallo ihr lieben,

Ich habe 4 Tabellenblätter mit optionsfeldern.
Ich habe sie bereits so geschützt, dass man nur die optionsfelder anwählen kann, sowie für alle Änderungen ein PW benötigt.

Nun wollt ich fragen ob es möglich ist dass nur bestimmte Personen bestimmte Tabellenblätter überhaupt sehen können,
Also Person 1 darf nur Tabellenblatt 1 einsehen, Person 2 nur Tabellenblatt 2 und Person 3 darf alle einsehen.

Gruß
Ulti
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von lorbass »

Ulti hat geschrieben:Nun wollt ich fragen ob es möglich ist dass nur bestimmte Personen bestimmte Tabellenblätter überhaupt sehen können,
Also Person 1 darf nur Tabellenblatt 1 einsehen, Person 2 nur Tabellenblatt 2 und Person 3 darf alle einsehen.
Nein.

Gruß
lorbass
Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von Ulti »

Oh gott, jetzt bin ich mit meiner Tabelle fertig, alle berechnungne stimmen und jetzt kann es doch nicht daran scheitern... :( kennt denn jemand einen anderen weg, eine Idee?
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von F3K Total »

Hallo,
ja das geht, per Makro in einer eigens dafür angelegten Makro Bibliothek.
Dies ist notwendig, damit die Makros verschlüsselt werden können, geht mit der Bibliothek "Standard" nicht.
Dann kannst Du im Makro Passworte und die Blätter, die jeweils gesehen werden dürfen, angeben.
Anbei eine Beispieldatei mit der extra Makro Bibliothek "Permissions".
Drei mögliche Passworte beim Öffnen:
  • AAAA -> darf Tabelle1 sehen
  • BBBB -> darf Tabelle2 und Tabelle3 sehen
  • CCCC -> darf Tabelle1,Tabelle2 und Tabelle3 sehen
Das Makro nimmt den Passwortschutz vom Dokument, blendet dann die zugelassenen Blätter ein, setzt den Passwortschutz wieder und speichert das Dokument.
Ein zweites Makro blendet die Tabellenblätter beim Schliessen wieder aus und speichert die Datei, da aber mindestens ein Blatt sichtbar sein muss, habe ich eine Blatt "Leer" zugefügt.
Das Makro darf nur der sehen, der das Passwort der Bibliothek kennt, ich verrate es dir: 1111

So nun viel Erfolg beim Nachbauen.
Gruß R
Dateianhänge
Login.ods
(14.03 KiB) 138-mal heruntergeladen
Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von Ulti »

Danke für deine Mühen,

aber leider klappt das PW: 1111 für die Bib. nicht =(
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von F3K Total »

???
Ulti hat geschrieben:aber leider klappt das PW: 1111 für die Bib. nicht =(
habe, um sicher zu gehen, die Datei gerade noch einmal heruntergeladen.
Natürlich läßt sich die Bibliothek "Permissions" mit dem Passwort 1111 entschlüsseln.
Dazu unter Extras/Makros/Makros verwalten/OpenOffice Basic unten links
  • erst auf das Plus-Zeichen vor Login.ods
  • und dann auf das Plus-Zeichen vor Permissions klicken und das Passwort eingeben.
  • Dann Module1 anklicken, rechts S_Login markieren, und auf Bearbeiten -> dann siehst du die beiden Makros.
EDIT: Unter LO 4.1.4 klappt es mit dieser Datei tatsächlich nicht, wieso auch immer.
Die Datei wurde mit AOO 4.0.1 erstellt, damit läßt sie sich entschlüsseln.

Gruß R
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von Karolus »

Hallo
Das Passwort für die Makrobibliothek geht hier auch nicht.

weder mit LO4.2 noch mit Aoo4

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von F3K Total »

Hi,
bin schon am forschen, es scheint so zu sein, dass sich die Datei, wenn ein Versuch mit LO gemacht wurde, auch in AOO nicht mehr entschlüsseln läßt.
Kannst Du bitte einmal versuchen die jungfräuliche Datei mit AOO zu entschlüsseln?
EDIT 1
Alles durcheinander.
Meine Erkentnisse:
  • Versucht man unter LO die Bibliothek zu entschlüsseln, wenn man die Ausführung von Makros zugelassen hat, dann zerschießt die Datei, Makros funktionieren zwar noch, lassen sich aber nie mehr entschlüsseln, nicht mit AOO noch mit LO
  • Entschlüsselt man die Bibliothek unter LO, wenn die Ausführung von Makros nicht möglich ist, funktioniert es, man kann das Passwort auch wegnehmen oder ändern, die Datei läßt sich danach auch mit AOO wieder entschlüsseln.
  • Unter AOO läßt sich die Datei immer ver- und entschlüsseln, wenn sie nie mit LO in Kontakt kam.
Also, in LO nie versuchen zu entschlüsseln, wenn Makros laufen dürfen
Versucht es bitte so noch einmal mit einer frisch heruntergeladenen Datei, entweder in AOO oder in LO ohne Makroausführung.

EDIT2: Habe noch weiter gesucht. Das Problem unter LO hängt mit meinem Login-Makro, das beim Öffnen automatisch ausgeführt wird, zusammen.
Versucht man die Bibliothek zu entschlüsseln, nachdem das Makro ausgeführt wurde, kommt es zu o.a. Zerschiessen der Datei.
Wurde das Makro, nach Öffnen der Datei nicht ausgeführt, läßt sich die Bibliothek entschlüsseln. Scheint damit zusammenzuhängen, dass das Makro den Dokumentenschutz entfernt und wieder setzt. Eine Lösung, ausser o.a. Weg, konnte ich nicht finden.
Gruß R
Zuletzt geändert von F3K Total am Sa, 08.02.2014 00:48, insgesamt 2-mal geändert.
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von Karolus »

Hallo

Ja -direkt mit Aoo gehts dann.

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von Ulti »

stimmt nur bei einer "jungfräulichen" Datei die mit AOO geöffnet wird funktioniert das PW 1111.
Ich als Makro-Noob werd mal probieren die Makros bei Libre office einzubringen....
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von Stephan »

Bitte macht das Makro zumindestens der Form halber sicher, denn derzeitig kann jeder der ein falsches Passwort eingibt und die Nachfrage ob er die Passworteingabe wiederholen will verneint, anschließend alle Tabellen über das Menü einblenden, weil dass Makro bei der Verneinung der erneuten Passworteingabe nicht den Dateischutz wieder setzt wenn folgede Schleife verlassen wird:

Code: Alles auswählen

if msgbox ("Passwort unbekannt",21,"Fehler") = 4 then
   goto 100
endif 
Außerdem möchte ich darauf hinweisen das der Schutz von Tabellen oder Zellen, der auf diese WEise erfogt, kein wirksamer Schutz ist sondern jederzeit gebrochen werden kann wenn man die geschützte Datei als xls speichert. Am Einfachsten indem man eine ältere OOo-Version benutzt, und dort die xls öffnet, den dannn läßt sich de Tabellenschutz deaktivieren ohne Paswsworteingabe.



Gruß
Stephan
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von F3K Total »

Hallo Stefan,
ja da hast Du recht, hier in meiner Version hatte ich die Zeile

Code: Alles auswählen

thiscomponent.unprotect("1111")
die vor der Passwortüberprüfung stand, schon gelöscht und hinter die Überprüfung gesetzt.
So sollte es funktionieren, da die Datei ja "geschützt" geöffnet wird:

Code: Alles auswählen

Sub S_Login
    100:
    r1 = Array("AAAA","Tabelle1")'Passwort, gefolgt von Tabellenblättern die gesehen werden dürfen
    r2 = Array("BBBB","Tabelle2","Tabelle3")
    r3 = Array("CCCC","Tabelle1","Tabelle2","Tabelle3")
    A = Array (r1,r2,r3)
    DialogLibraries.loadLibrary("Permissions")
    odlgLogin = CreateUnoDialog(DialogLibraries.Permissions.dlgLogin)
    odlgLogin.execute
    otxtpassword = odlglogin.getcontrol("txtpassword")
    sCurrentPassword = otxtpassword.text
    bfound = false
    for i = 0 to uBound(A)
        PW = A(i)
        if sCurrentPassword = PW(0)then
           bfound = true
           thiscomponent.unprotect("1111")
           for k = 1 to uBound(PW)
              osheet = thiscomponent.sheets.getbyname(PW(k))
              osheet.IsVisible = true
           next k
           osheet = thiscomponent.sheets.getbyname("Leer")
           osheet.IsVisible = false
           thiscomponent.protect("1111")
           thiscomponent.store
        endif
    next i
    if not bfound then
       if msgbox ("Passwort unbekannt",21,"Fehler") = 4 then
           goto 100
       endif 
    endif          
End Sub
Gruß R
Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von Ulti »

danke für die Hinweise Stephan,

aber ich wäre schon froh wenn ich überhaupt ansatzweiße eine Passwortabfrage wie F3kTotal hinkriegen würde, lese gerade ein "Makro Kochbuch" und versuch den Code in Libre office hinzukriegen....

darf ich fragen wofür "odlgLogin" steht? bzw. wofür steht odlg

bzw. es kommt der Fehler odlgLogin -> Objektvariable nicht vergeben
Zuletzt geändert von Ulti am Sa, 08.02.2014 10:39, insgesamt 1-mal geändert.
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
Ulti
***
Beiträge: 64
Registriert: Sa, 25.01.2014 13:03

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von Ulti »

wie schreibt man einen Text (Überschrift), in den dunkelgrauen Bereich des Abfragefensters?
habs nur hinekommen in die Schaltfläche was reinzuschreiben.
Überschrift.JPG
Überschrift.JPG (63.9 KiB) 2731 mal betrachtet
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Tabellenblatt schützen (nicht einsehbar machen)

Beitrag von F3K Total »

Ulti hat geschrieben:wie schreibt man einen Text (Überschrift), in den dunkelgrauen Bereich des Abfragefensters?
Den Dialog ganz am Rand anklicken-> Rechte Maustaste -> Eigenschaften
dlg.png
dlg.png (20.87 KiB) 2718 mal betrachtet
Gruß R
Antworten