BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Zelle mit Steuerelement sperren/entsperren

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Hannes_E
Beiträge: 7
Registriert: Fr 28. Jun 2019, 12:05

Zelle mit Steuerelement sperren/entsperren

Beitrag von Hannes_E » Fr 28. Jun 2019, 12:18

Hallo zusammen,
ich möchte gerne mit zwei Optionsfeldern eine Zelle steuern: Das eine erlaubt es, frei einen Wert in die Zelle einzutragen und das andere stellt einen default Wert ein und verhindert das ändern dieses Wertes. Man soll natürlich vom einen zum anderen wechseln können.
Leider finde ich aber keine Funktion, die die Zelle so bearbeitet. Den Code des Aufgezeichneten Makros verstehe ich leider nicht (ich denk, das muss doch auch ohne Dispatcher gehen) und Funktionen wie osheet.getCellByPosition(0,0).Lock funktionieren auch nicht.
Mein letzter Ansatz war, irgendwie den Locked-Status der Zelle abzufragen und zu ändern, aber da komme ich leider auch nicht weiter.
Für Antworten bin ich sehr dankbar :)

Viele Grüße
Hannes

HeritzP
Beiträge: 898
Registriert: Mo 9. Dez 2013, 19:08

Re: Zelle mit Steuerelement sperren/entsperren

Beitrag von HeritzP » Fr 28. Jun 2019, 14:09

Hallo,

Zellen sperren kann auch ohne Makro realisiert werden.
Dazu muss die Tabelle geschützt werden.
Optinsfelder geschützt.ods
(8.82 KiB) 240-mal heruntergeladen
Die Optionsfelder sind gruppiert.
Die Sperrung erfolgt über Formatvorlagen, einmal über bed. Formatierung und über Formel.

Gruß HeritzP
HeritzP

alles nur geklaut

Hannes_E
Beiträge: 7
Registriert: Fr 28. Jun 2019, 12:05

Re: Zelle mit Steuerelement sperren/entsperren

Beitrag von Hannes_E » Di 2. Jul 2019, 15:32

Hallo,
danke für die Antwort. Soweit ich sehe, ist daran aber das Problem, wenn ich im ungesperrten Zustand den Wert der Zelle verändere, dann wird damit auch die Formatierung dieser Zelle gelöscht. Ich muss die Zelle immer wieder ändern können, ohne dass sich die Formatierung ändert.

Viele Grüße

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: Zelle mit Steuerelement sperren/entsperren

Beitrag von mikele » Di 2. Jul 2019, 17:45

Hallo,
im ungesperrten Zustand kann der Wert und die Formatierung geändert werden. Um das ansatzweise zu Verhindern bleibt die Option eine Gültigkeitsbedingung zu formulieren. Allerdings kann die im ungesperrten Zustand eben auch überschrieben oder gelöscht werden.
Gruß,
mikele

Hannes_E
Beiträge: 7
Registriert: Fr 28. Jun 2019, 12:05

Re: Zelle mit Steuerelement sperren/entsperren

Beitrag von Hannes_E » Mi 3. Jul 2019, 07:53

Und es dann doch mit einem Makro lösen? Das brauch ich sowieso um den Wert, der im gesperrten Zustand in der Zelle steht, zu berechnen.

Helmut_S
Beiträge: 692
Registriert: Di 9. Feb 2016, 19:27

Re: Zelle mit Steuerelement sperren/entsperren

Beitrag von Helmut_S » Mi 3. Jul 2019, 08:25

Hallo Hannes, anbei Tabelle mit aufgezeichnetem Makro. Habe lediglich Zeile 13 in beiden Modulen eingefügt.
Gruß Helmut
Dateianhänge
Optionsfelder01.ods
(11.93 KiB) 138-mal heruntergeladen
MX-Linux KDE + Linux-Mint Cinnamon

Hannes_E
Beiträge: 7
Registriert: Fr 28. Jun 2019, 12:05

Re: Zelle mit Steuerelement sperren/entsperren

Beitrag von Hannes_E » Mi 3. Jul 2019, 11:18

Hallo, das funktioniert jetzt fast so wie es soll...Mein Problem ist nur noch, wenn ich bei mir das Optionsfeld gesperrt auswähle, dann kommt bei dem Entsperr-Feld die Meldung, dass es nicht bearbeitet werden kann. Wie funktioniert das mit dem Steuerelement Mehrfachauswahl? Das kann ich nirgends finden, deshalb hab ich 2 normale Optionsfelder genommen mit gleichem Gruppennamen. Aus der Datei kann ich leider nicht sehen, wo welches Makro aufgerufen wird (bzw. wie ich das aufgerufene Makro ändern kann).

Helmut_S
Beiträge: 692
Registriert: Di 9. Feb 2016, 19:27

Re: Zelle mit Steuerelement sperren/entsperren

Beitrag von Helmut_S » Mi 3. Jul 2019, 12:55

Hallo Hannes,
wenn ich bei mir das Optionsfeld gesperrt auswähle, dann kommt bei dem Entsperr-Feld die Meldung, dass es nicht bearbeitet werden kann.
verstehe ich nicht wirklich,
Wie funktioniert das mit dem Steuerelement Mehrfachauswahl?
Hat (IMHO) nur den Zweck, dass du beide Felder in einem verschieben kannst. Wenn du nur 1 bearbeiten willst, musst du es mit gedrückter Strg-Taste anklicken.
Aus der Datei kann ich leider nicht sehen, wo welches Makro aufgerufen wird
Rechte Maustaste -> Steuerelement -> Ereignisse - zugeordnet zu "Maustaste gedrückt" - musst du etwas hinunter scrollen. Kannst auch andere Ereignisse versuchen.
(bzw. wie ich das aufgerufene Makro ändern kann).
Dazu musst du die Basic-IDE aufrufen (Alt+F11) in der gleichnamigen Datei gibt es 2 Module, dort kannst du das Makro nach deinen Wünschen verändern.

Gruß Helmut
MX-Linux KDE + Linux-Mint Cinnamon

Hannes_E
Beiträge: 7
Registriert: Fr 28. Jun 2019, 12:05

Re: Zelle mit Steuerelement sperren/entsperren

Beitrag von Hannes_E » Mi 3. Jul 2019, 15:04

Helmut_S hat geschrieben:
Mi 3. Jul 2019, 12:55
Hallo Hannes,
wenn ich bei mir das Optionsfeld gesperrt auswähle, dann kommt bei dem Entsperr-Feld die Meldung, dass es nicht bearbeitet werden kann.
verstehe ich nicht wirklich,
Das Problem ist, dass ich das Optionsfeld gar nicht auswählen kann, weil bei Mausklick auf mein Optionsfeld die selbe Information kommt, die auch kommt, wenn man den Wert einer gesperrten Zelle ändern will. Deshalb wird das Makro gar nicht ausgeführt.
In dem Beispiel wird ja die ganze Tabelle entsperrt, bei mir sollen davon nur einzelne Zellen entsperrt werden, der Rest soll bleiben wie er ist (egal ob geschützt oder nicht).

Helmut_S
Beiträge: 692
Registriert: Di 9. Feb 2016, 19:27

Re: Zelle mit Steuerelement sperren/entsperren

Beitrag von Helmut_S » Mi 3. Jul 2019, 16:57

Hallo Hannes, du musst als erstes sicher stellen, dass Makros ausgeführt werden können. Unter extras Optionen Sicherheit die Makrosicherheit A) auf Mittel einstellen und/oder B) das Verzeichnis aus dem heraus du die Tabelle lädst unter die vertrauenswürdigen Quellen eintragen. Beim Laden der Datei kommt bei A) eine Abfrage ob Makros ausgeführt werden sollen, im Fall von B) wird die Tabelle ohne diese Abfrage geladen und Makros ausgeführt.
Das Problem ist, dass ich das Optionsfeld gar nicht auswählen kann,
Das optionsfeld kannst du nicht auswählen wie eine "normale" Zelle, weil es auf einer anderen Ebene liegt ("Drawpage"), du kannst es nur mit der Maus umschalten. Wenn beim Klick in das O-Feld nichts gescheht , dann wird das Makro nicht ausgeführt - siehe hier oben unter A) oder B) -
Der Schutz einer einzelnen Zelle wirkt nur, wenn die gesamte Tabelle geschützt ist.
Ob bei aktiviertem o-Feld "gesperrt" nur Zelle a1 gesperrt wird oder andere Zellen auch, kannst du steuern indem du den gewünschten Bereich markierst und die Zellen-Sperre für diesen Zellenbereich aufhebst.
Damit das hier genannte klappt, musst du im
Makro Modul2 "Sperre_aufheben" Zeile 13 so auskommentieren oder löschen.

REM ThisComponent.sheets(0).unProtect("")

Denn andernfalls wird mit dieser Anweisung der TabellenBLATT-Schutz aufgehoben und der ZELLEN-Schutz wirkt nicht mehr.
Achtung das Schloss im Tabellenreiter, das eine geschützte Tabelle anzeigt, funktioniert (bei mir) nicht ganz korrekt. Um zu sehen, ob die Tabelle geschützt ist oder nicht, musst du mit rechter Maustaste auf den T-Reiter klicken, dann siehst du, ob neben "Tabelle schützen" der Haken gesetzt ist.
Gruß Helmut
MX-Linux KDE + Linux-Mint Cinnamon

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten