❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 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
* LO-Experte *
Beiträge: 966
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) 292-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
* LO-Experte *
Beiträge: 1947
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
* LO-Experte *
Beiträge: 757
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) 179-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
* LO-Experte *
Beiträge: 757
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
* LO-Experte *
Beiträge: 757
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 gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten