Zeile trotz Blattschutz in andere Tabelle verschieben
Moderator: Moderatoren
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Hallo
Du müsstest halt während des Kopiervorgangs den Blattschutz aufheben…was aber in der Konsequenz dazu führt das die "Unwissenden" wieder die Tabelle zerstören können.
Du müsstest halt während des Kopiervorgangs den Blattschutz aufheben…was aber in der Konsequenz dazu führt das die "Unwissenden" wieder die Tabelle zerstören können.
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
-
- ******
- Beiträge: 919
- Registriert: Mo, 12.04.2010 00:37
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Ich weiß nicht ob du Karolus richtig verstanden hast.
Man kann ja im Makro selbst vor dem Verschieben den Blattschutz aufheben, und direkt nach dem Verschieben (also der einen Zeile mit dem Code) wieder aktivieren. Das geht ziemlich simpel und erfordert somit nur zwei zusätzliche Zeilen in deinem Makro.
Grüße
Thomas
Man kann ja im Makro selbst vor dem Verschieben den Blattschutz aufheben, und direkt nach dem Verschieben (also der einen Zeile mit dem Code) wieder aktivieren. Das geht ziemlich simpel und erfordert somit nur zwei zusätzliche Zeilen in deinem Makro.
Grüße
Thomas
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Die einzig andere Möglichkeit ist schlicht den Kopiervorgang nur zuzulassen, wenn zuvor der Blattschutz auf normalem Weg (per UI und Passworteingabe) aufgehoben wird.
Den Schutz setzen kannst du dann auch im Makro nach dem Kopieren:
Den Schutz setzen kannst du dann auch im Makro nach dem Kopieren:
Code: Alles auswählen
……
source_sheet.protect("dein_passwort")
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Dann kann man den Blattschutz doch gleich weglassen, weil jetzt wieder jeder nur auf den Button klicken muss.Thomas Mc Kie hat geschrieben: ↑Fr, 03.03.2017 12:07 Ich weiß nicht ob du Karolus richtig verstanden hast.
Man kann ja im Makro selbst vor dem Verschieben den Blattschutz aufheben, und direkt nach dem Verschieben (also der einen Zeile mit dem Code) wieder aktivieren. Das geht ziemlich simpel und erfordert somit nur zwei zusätzliche Zeilen in deinem Makro.
Grüße
Thomas
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
-
- ******
- Beiträge: 919
- Registriert: Mo, 12.04.2010 00:37
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Ok, an passwortgeschütz habe ich nicht gedacht (stand auch nirgendwo). Ich dachte, es wäre sowieso einfach nur der Blattschutz aktiviert, ohne Passwort. Aber du kannst ja entweder das Passwort im Makro einbauen (sofern auch jeder das Verschieben machen darf) oder du fragst das Passwort beim Verschieben ab. Da ich mit Passwörtern im Blattschutz noch nicht gearbeitet habe, weiß ich aber nicht zu 100% ob das im Makro möglich ist (es würde mich aber überraschen, wenn es nicht möglich ist).
Falls das für mehrere Zeilen nacheinander zu machen wäre, würde es natürlich auch sinnvoll sein, das nicht jedesmal sondern nur einmal abzufragen. Das wird dann aber umständlicher (weil z.B. doch noch ein weiterer Button für ein anderes Makro notwendig wäre).
Grüße
Thomas
Falls das für mehrere Zeilen nacheinander zu machen wäre, würde es natürlich auch sinnvoll sein, das nicht jedesmal sondern nur einmal abzufragen. Das wird dann aber umständlicher (weil z.B. doch noch ein weiterer Button für ein anderes Makro notwendig wäre).
Grüße
Thomas
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Ja!Antonia_BD hat geschrieben: ↑Fr, 03.03.2017 13:54 Also Schritt für Schritt
In eine Zeile werden Daten eingegeben, irgendwann sollen diese Daten ins Archiv (Tabelle B) verschoben werden. Der User wählt mit dem Cursor also die eine Zelle der Zeile X aus und klickt den Button, durch das Makro wird automatisch die ausgewählte Zeile X in das Archiv verschoben und und verschwindet in der Haupttabelle (Tabelle A)
Das Passwort würde ich ungern den anderen nennen, also durch den gleichen "Archiv"-Button müsste man "unprotecten" und nach dem kopieren/verschieben wieder protecten....
Ist das möglich?
Code: Alles auswählen
…
sourcesheet.unprotect("superstrenggeheim")
…
sourcesheet.protect("superstrenggeheim")
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Hi,
ich setze noch einen drauf. Wenn man die Tabellen mit Makro per unprotect/protect entsperren/schützen möchte, kann jeder, der in die Makros guckt, das Passwort sehen. Damit das nicht passieren kann, ist es möglich auch die Makros zu verschlüsseln. Geht aber nur in einer eigenen Makro-Bibliothek, die Bibliothek Standard lässt sich nicht verschlüsseln.
Anbei ein Beispiel, die Bibliothek NEUE_BIBLIOTHEK ist mit dem Passwort 1111 geschützt. Darin kann man erst nach dem entschlüsseln, das Passwort für den Tabellenschutz sehen. Doof ist, dass es Unterschiede zwischen LibreOffice und ApacheOpenOffice gibt.
Die Makros der verschlüsselten Bibliothek laufen aktuell unter ApacheOpenOffice nur, wenn sie auch darunter verschlüsselt wurde.
Gruß und viel Erfolg R
ich setze noch einen drauf. Wenn man die Tabellen mit Makro per unprotect/protect entsperren/schützen möchte, kann jeder, der in die Makros guckt, das Passwort sehen. Damit das nicht passieren kann, ist es möglich auch die Makros zu verschlüsseln. Geht aber nur in einer eigenen Makro-Bibliothek, die Bibliothek Standard lässt sich nicht verschlüsseln.
Anbei ein Beispiel, die Bibliothek NEUE_BIBLIOTHEK ist mit dem Passwort 1111 geschützt. Darin kann man erst nach dem entschlüsseln, das Passwort für den Tabellenschutz sehen. Doof ist, dass es Unterschiede zwischen LibreOffice und ApacheOpenOffice gibt.
Die Makros der verschlüsselten Bibliothek laufen aktuell unter ApacheOpenOffice nur, wenn sie auch darunter verschlüsselt wurde.
Gruß und viel Erfolg R
- Dateianhänge
-
- SCHUTZ.ods
- (18.93 KiB) 135-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
-
- ******
- Beiträge: 919
- Registriert: Mo, 12.04.2010 00:37
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Danke für die Info, hatte ich auch nicht im Geringsten auf dem Schirm. *Info_merk*
Grüße
Thomas
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Aber Achtung: die Verschlüsselung der Makros ist auf diesem Wege seit vielen Jahren nicht perfekt (früher ging es meiner Erinnerung nach), denn Teile des Makrocode bleiben sichtbar und jeder der weiß wie man die ods-DAtei entzippen kann kann sie u.U. einsehen, so z.B. im aktuellen Beispiel, denn dort ist in Module1.bin das Passwort sichtbar:Thomas Mc Kie hat geschrieben: ↑Mo, 06.03.2017 08:56Danke für die Info, hatte ich auch nicht im Geringsten auf dem Schirm. *Info_merk*
Grüße
Thomas
Gruß
Stephan
- Dateianhänge
-
- Dateiauszug_module1.gif (15.47 KiB) 12872 mal betrachtet
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Wie die Fehlermeldung sagt ist eine Objektvariable nicht belegt, da es nur eine Objektvariable in den 2 Codezeilen gibt ist auch klar Welche.Was mache ich falsch, wenn ich den Code einfüge (gleich nach "sub" und kurz vor "end") und ich dann den Fehler "Objektvariable nicht belegt" bekomme ?
Fülle also die Variable mit Inhalt, z.B.:
Code: Alles auswählen
sourcesheet = ThisComponent.Sheets(0)
…
sourcesheet.unprotect("superstrenggeheim")
…
sourcesheet.protect("superstrenggeheim")
Stephan
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Wenn du deinen Code nicht postest, musst du wenigsten in der Lage das sinngemässe sourcesheet durch den Namen zu ersetzen den du im Code dafür benutzt.
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Ist ja ein Ding, das habe ich auch noch nicht gewusst. Komisch, nur eines von beiden ist sichtbar...
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Ja, das ist etwas komisch, ich kann auch nur sagen das man im Einzelfall nachsehen muss, aber das Ganze ist natürlich ein ganz gravierendes Problem, weil garkeine komplette Verschlüsselung erfolgt.Ist ja ein Ding, das habe ich auch noch nicht gewusst. Komisch, nur eines von beiden ist sichtbar...
In älteren Programmversionen (meiner Erinnerung nach deutlich älter als OOo 3.2.0) gab es dieses Problem nicht und die Verschlüsselung des Codes war einwandfrei- mit solchen alten Programmversionen verschlüsselte Dateien funktionierten auch in anderen, neueren Programmversionen von OOo und AOO aber schon nichtmehr in LO-Versionen die herauskamen nachdem LO irgendwas am Verschlüsselungsmechanismus geändert hatte (zeitlich ungefähr ab dem Zeitpunkt als es in LO nicht mehr möglich war geschützte xls-Tabellenblätter ohne Passworteingabe zu entsperren).
Der ganze Sachverhalt ist sehr ärgerlich, aber ich kann auch nicht sagen in wieweit das die OO/LO-Programmierer als Fehler verstehen oder ob es andere Gründe gibt die dieses Verhalten hervorrufen ohne das es explixit gewollt wäre. Ich hatte bisher auch keine Zeit das alle gründlich nachzurecherchieren - falls jemand mehr Hintergrundwissen hat, nur her damit..
GRuß
Stephan
-
- ******
- Beiträge: 919
- Registriert: Mo, 12.04.2010 00:37
Re: Zeile trotz Blattschutz in andere Tabelle verschieben
Aber für den Schutz gegen versehentliche Änderungen unbedarfter Anwender langt natürlich eigentlich schon das Passwort im Makro abzulegen, das Makro zu verschlüsseln ist dann noch etwas besser auch um den etwas neugierigeren Anwender, der schon mal was von Makros gehört hat, auszusperren. Für den Anwendungszweck wie er hier im Thema genannt wird, wäre das also meiner Meinung nach absolut ausreichend. Muss aber natürlich der Themenersteller EDIT die Themenerstellerin beantworten.
Danke für die Zusatzinfos, ich denke das ist ganz nützlich.
Grüße
Thomas
Danke für die Zusatzinfos, ich denke das ist ganz nützlich.
Grüße
Thomas