Verrouiller ou déverrouiller les formes

Protéger toutes les formes dans une feuille de calcul spécifiée

Pour protéger toutes les formes dans une feuille de calcul spécifiée, utilisez la méthode Worksheet.Protect(type), comme indiqué dans le code d’exemple suivant.

import jpype
import asposecells
jpype.startJVM()
from asposecells.api import Workbook,SaveFormat,ProtectionType
text = "This is a test";
workbook = Workbook();
worksheet = workbook.getWorksheets().get(0);
shape = worksheet.getShapes().addTextBox(1, 0, 1, 0, 30, 100);
shape.setText(text);
shape = worksheet.getShapes().addRectangle(5, 0, 1, 0, 30, 100);
shape.setText(text);
shape = worksheet.getShapes().addButton(9, 0, 1, 0, 30, 100);
shape.setText(text);
shape = worksheet.getShapes().addOval(13, 0, 1, 0, 50, 100);
shape.setText(text);
#Protect all shapes in a specified worksheet
shape.getWorksheet().protect(ProtectionType.OBJECTS);#Protects the entire worksheet.
#or shape.Worksheet.Protect(ProtectionType.All);//Protects all shapes in the specified worksheet.
#or worksheet.Protect(ProtectionType.Objects);//Protects the entire worksheet.
#or worksheet.Protect(ProtectionType.All);//Protects all shapes in the specified worksheet.
workbook.save(r"Locked.xlsx", SaveFormat.XLSX);

Déverrouiller les formes spécifiées dans une feuille de calcul protégée

Pour déverrouiller une forme spécifique dans une feuille de calcul protégée, utilisez shape.IsLocked, comme indiqué dans le code d’exemple suivant.

Remarque : shape.IsLocked n’a de sens que lorsque la feuille de calcul est protégée.

import jpype
import asposecells
jpype.startJVM()
from asposecells.api import Workbook, SaveFormat,ProtectionType
workbook = Workbook(r"Locked.xlsx")
#Get protected worksheet
worksheet = workbook.getWorksheets().get(0)
#Get the specified shape to be unlocked
shape = worksheet.getShapes().get(r"TextBox 1")
#Unlock the specified shape
if (not worksheet.getProtection().getAllowEditingObject() and shape.isLocked()):
shape.setLocked(False);
workbook.save(r"UnLocked.xlsx", SaveFormat.XLSX);