قفل أو فتح الشكل
أحيانًا، تحتاج إلى حماية جميع الأشكال في بعض الأوراق لمنع تدميرها من قبل مواقف غير مرغوب فيها. في هذه الحالة، تحتاج إلى قفل جميع الأشكال في الورقة المحددة.
أحيانًا، تحتاج إلى تعديل بعض الأشكال في بعض الأوراق المحمية، في هذه الحالة، تحتاج إلى فتح هذه الأشكال.
سيقدم هذا المقال كيفية قفل وفتح الأشكال المحددة بالتفصيل.
حماية جميع الأشكال في ورقة عمل محددة
لحماية جميع الأشكال في صفحة العمل المحددة، استخدم طريقة 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); |