قفل أو فتح الشكل

حماية جميع الأشكال في ورقة عمل محددة

لحماية جميع الأشكال في صفحة العمل المحددة، استخدم طريقة Worksheet.Protect(type)، كما هو موضح في الشيفرة البرمجية العينية التالية.

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);

فتح الأشكال المحددة في ورقة عمل محمية

لفتح الشكل المحدد في صفحة العمل المحمية، استخدم shape.IsLocked، كما هو موضح في الشيفرة البرمجية العينية التالية.

ملاحظة: shape.IsLocked معنوي فقط عندما تكون صفحة العمل محمية.

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);