Nous sommes le Lun 30 Juin, 2025 18:28
Supprimer les cookies

open/staroffice protéger/dépro toutes mes feuilles à la fois

Sur le logiciel libre en général ou un logiciel libre en particulier

Mar 12 Août, 2008 13:48

Bonjour,
J'ai 31 feuilles de calcul sous staroffice à protéger/déprotéger. Je voudrais écrire une macro qui cette protège/déprotège toutes les feuilles en même temps, en fait ce que fait cette macro (courte) excel:

Sub ProtegeTout()
For Each Feuil In Application.Sheets
Feuil.Protect ("mot de passe")
Next Feuil
End Sub

Sub DeprotegeTout()
Application.ScreenUpdating = False
For Each Feuil In Application.Sheets
Feuil.Unprotect ("mot de passe")
Next Feuil
Application.ScreenUpdating = True
End Sub

J'ai une macro staroffice qui fonctionne sur la feuille active (pour toutes les feuilles) mais je n'arrive pas à la faire fonctionner sur toutes en même temps.

Sub PysProtect

Dim oSheet as object, PysNomFeuille as string

PysNomFeuille = thiscomponent.currentController.activeSheet.Name

oSheet = ThisComponent.getSheets().getByName(PysNomFeuille)
oSheet.protect("password")
rem oSheet.unprotect("password")

End Sub
guy62

Messages : 7

Sam 16 Août, 2008 10:27

Bon, si j'ai bien compris. Le premier code serait celui que tu utilises (utilisais ;)) avec Excel dont tu voudrais une variante Calc. Le second code serait celui que tu as trouvé en exemple pour protéger et déprotéger une feuille sous Calc. Et ta question serait: que doit-on mettre en Basic Calc qui fasse la même chose que le code Basic Excel présenté?

Ma réponse:
Code: Tout sélectionner
Sub changeSheetsAttributes( passwordProtection as boolean )
   For I = 0 to thisComponent.Sheets.getCount() - 1
      Sheet = thisComponent.Sheets.getByIndex( I )
        if passwordProtection then
           Sheet.protect( "password" )
      else
         Sheet.unprotect( "password" )
      end if
   Next I
End Sub

Sub protect
   changeSheetsAttributes( true )
End Sub

Sub unprotect
   changeSheetsAttributes( false )
End Sub


Il suffit donc d'appeler protect et unprotect
Amicalement,

Laurent
obor2

Messages : 524
Géo : belgique

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit