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

Antwort per Email an