BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> 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. 🤗
Tabellenstruktur schützen
Tabellenstruktur schützen
Hallo zusammen,
ich habe nun einige Stunden mit der Recherche verbracht, aber keine Lösung auf die Frage "Wie kann ich per Makro die Tabellenstruktur schützen?" gefunden. Bloß das Schützen eines Tabellenblattes oder des Dokumentes selbst.
Ist die Funktionalität überhaupt per Makro nutzbar?
VG
andremike
Kleine Ergänzung: Das Kennwort zum Schutz soll nicht manuell eingegeben sondern vom Makro gesetzt werden.
ich habe nun einige Stunden mit der Recherche verbracht, aber keine Lösung auf die Frage "Wie kann ich per Makro die Tabellenstruktur schützen?" gefunden. Bloß das Schützen eines Tabellenblattes oder des Dokumentes selbst.
Ist die Funktionalität überhaupt per Makro nutzbar?
VG
andremike
Kleine Ergänzung: Das Kennwort zum Schutz soll nicht manuell eingegeben sondern vom Makro gesetzt werden.
Zuletzt geändert von andremike am Do 27. Jan 2022, 14:18, insgesamt 1-mal geändert.
-
- Beiträge: 2838
- Registriert: Fr 3. Mär 2017, 17:12
Re: Tabellenstruktur schützen
Hallo,
muss es unbedingt ein Makro sein, reicht es nicht die Funktion über das Menü Extras → Tabellenstruktur schützen… zu aktivieren?
Gruß
Peter
muss es unbedingt ein Makro sein, reicht es nicht die Funktion über das Menü Extras → Tabellenstruktur schützen… zu aktivieren?
Gruß
Peter
Win 11 (x64) ▪ LO 24.2.2.2 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.
Re: Tabellenstruktur schützen
Hallo Peter,
genau das soll ja verhindert werden, da dieses zu versteckende Tabellenblatt Daten enthält, die nur einem kleinen Mitarbeiterkreis zugänglich sein sollen. Ohne diesen Schutz könnte ja jeder alles einblenden...
LG
genau das soll ja verhindert werden, da dieses zu versteckende Tabellenblatt Daten enthält, die nur einem kleinen Mitarbeiterkreis zugänglich sein sollen. Ohne diesen Schutz könnte ja jeder alles einblenden...
LG
Re: Tabellenstruktur schützen
Ergänzung:
Hallo zusammen,
mit der etwas unprofessionellen Methode "Makro aufzeichnen" habe ich das hier erhalten:
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Protect"
args4(0).Value = true
dispatcher.executeDispatch(document, ".uno:ToolProtectionDocument", "", 0, args4())
Allerdings muss dann das Kennwort manuell eingegeben werden und eben das soll ja ebenfalls per Makro passieren.
Irgendwie komme ich in der Sache nicht weiter...
Hallo zusammen,
mit der etwas unprofessionellen Methode "Makro aufzeichnen" habe ich das hier erhalten:
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Protect"
args4(0).Value = true
dispatcher.executeDispatch(document, ".uno:ToolProtectionDocument", "", 0, args4())
Allerdings muss dann das Kennwort manuell eingegeben werden und eben das soll ja ebenfalls per Makro passieren.
Irgendwie komme ich in der Sache nicht weiter...
Re: Tabellenstruktur schützen
Hallo,
der Makrorekorder schreibt meist nur die Dispatch-Commands,
eben Einzelbefehle, welche irgendetwas aufrufen.
Im Anschluß muss dem Dispatch-Command immer Parameter in Form eines
Eigenschafts-Array's/ ein Struct übergeben werden.
Das alles ist nur bedingt dokumentiert und ich habe mir zuweilen schon
mehrfach die Haare bei der Suche nach den passenden Struct's gerauft.
Deshalb arbeite ich lieber mit der Starbasic-API.
a) diese ist sehr gut dokumentiert, aber man muss sie erst verstehen lernen.
b) jede Menge Code-Beispiele im Netz.
ABER, es ist nicht einfach die Materie der objektorientierten Starbasic-Programmierung zu verstehen.
-------------------------------------------
Setze einmalig manuell einen Passwortschutz für eine Tabelle und
stelle die Optionen ein, welche erlaubt und gesperrt sein sollen.
Dieses Makro prüft den Status des Tabellenblattes:
a) ist es geschützt, dann wird der Schutz automatisch aufgehoben (Passwort im Code anpassen!)
b) ist es ungeschützt, dann wird der Passwortschutzt gesetzt.
der Makrorekorder schreibt meist nur die Dispatch-Commands,
eben Einzelbefehle, welche irgendetwas aufrufen.
Im Anschluß muss dem Dispatch-Command immer Parameter in Form eines
Eigenschafts-Array's/ ein Struct übergeben werden.
Das alles ist nur bedingt dokumentiert und ich habe mir zuweilen schon
mehrfach die Haare bei der Suche nach den passenden Struct's gerauft.
Deshalb arbeite ich lieber mit der Starbasic-API.
a) diese ist sehr gut dokumentiert, aber man muss sie erst verstehen lernen.
b) jede Menge Code-Beispiele im Netz.
ABER, es ist nicht einfach die Materie der objektorientierten Starbasic-Programmierung zu verstehen.
-------------------------------------------
Setze einmalig manuell einen Passwortschutz für eine Tabelle und
stelle die Optionen ein, welche erlaubt und gesperrt sein sollen.
Dieses Makro prüft den Status des Tabellenblattes:
a) ist es geschützt, dann wird der Schutz automatisch aufgehoben (Passwort im Code anpassen!)
b) ist es ungeschützt, dann wird der Passwortschutzt gesetzt.
Code: Alles auswählen
REM ***** BASIC *****
Option Explicit
REM ════════════════════════════════════════════════════════════════════════════════════════════════════
REM CALC:
REM 1) [Tabellen Schutz an aus]
REM ════════════════════════════════════════════════════════════════════════════════════════════════════
REM 1)
REM ---------------------------------------------------------------------
REM Makro prueft ob ein Tabellenschutz vorhanden ist,
REM WENN = JA, dann wird der Schutz aufgehoben
REM
REM WENN kein Tabellenschutz vorhanden ist, wird der Schutz gesetzt.
REM
REM WENN Passwoerter im Makro angegeben sind, DANN
REM MUESSEN in beiden CASE-Anweisungen
REM die gleichen Passwoerter angegeben werden!!!
REM ---------------------------------------------------------------------
Sub [Tabellen Schutz an aus]
Dim oDoc as Object
Dim oCC as Object
Dim oSheet as Object
oDoc=ThisComponent
oCC=oDoc.CurrentController
oSheet=oCC.ActiveSheet
select Case oSheet.isprotected
case "True"
'Schutz mit Passwort entfernen:
oSheet.Unprotect( "123" )
case "False"
'Schutz mit Passwort setzen:
oSheet.Protect( "123" )
End Select
End Sub
Gruß
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
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 ❤️