Guten Tag Werner Tietz,
danke für deine Antwort.
am Freitag, 25. Februar 2011 um 18:24 schrieben Sie:
>> über die Methode protect und unprotect kann ich in Calc
>> Tabellenblätter mittels Basic schützen bzw. freigeben.
>>
>> Wie kann ich eine Tabelle mit protect schützen und die
>> Option zum Verhindern der Anwahl geschützter Zellen
>> übergeben?
> Diese Option ist offenbar neu in LO hinzugekommen, ich hab nichts
> gefunden um die Einstellung direkt in einer geöffneten Datei zu setzen.
Willkommen im Club.
> Evtl. gelingt dir vorläufig ein "Würkaround" : Entpacke die gespeicherte
> und geschlossene Datei und ersetze in der content.xml den Text
> <table:table-protection table:select-protected-cells="true"
> durch
> <table:table-protection table:select-protected-cells="false"
> und pack wieder ein.
Das habe ich ausprobiert und das funktioniert. Das ist allerdings
umständlicher als rechte Maustaste auf Reiter, alle anwählen und
dann Tabellen schützen. ;-)
Ich suche nach einer Möglichkeit, Makrogesteuert alle Tabellen in der
oben beschriebenen Form zu schützen bzw. freizugeben. Der Status wird
dann in Zelle "C1" gekennzeichnet.
'_________________________________________________________________
Sub TabellenSchutzAn
Dim oDoc as Object
Dim oSheet as Object
Dim eSheets As Object
Dim oCell as Object
oDoc = ThisComponent
eSheets = oDoc.getSheets.createEnumeration
While eSheets.hasMoreElements
oSheet = eSheets.nextElement()
oCell = oSheet.getCellRangeByName("C1")
oCell.String = "°"
oSheet.protect("")
' MsgBox "Nächster Tabellenname ist: " & oSheet.getName & "."
Wend
MsgBox "Tabellenschutz wurde aktiviert!" & CHR$(13) &_
"In Zelle C1 wurde ""°"" eingetragen."
End Sub
'_________________________________________________________________
Sub TabellenSchutzAus
Dim oDoc as Object
Dim oSheet as Object
Dim eSheets As Object
Dim oCell as Object
oDoc = ThisComponent
eSheets = oDoc.getSheets.createEnumeration
While eSheets.hasMoreElements
oSheet = eSheets.nextElement()
oCell = oSheet.getCellRangeByName("C1")
oSheet.unprotect("")
oCell.String = ""
' MsgBox "Nächster Tabellenname ist: " & oSheet.getName & "."
Wend
MsgBox "Tabellenschutz wurde deaktiviert!" & CHR$(13) &_
"In Zelle C1 wurde """" eingetragen."
End Sub
'_________________________________________________________________
--
Mit freundlichen Grüßen
Jörg Kleinfeld
mailto:[email protected]
http://www.bsv.de
--
Informationen zur Abmeldung: E-Mail an [email protected]
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert