قفل أو فتح الشكل
أحيانًا، تحتاج إلى حماية جميع الأشكال في بعض الأوراق لمنع تدميرها من قبل مواقف غير مرغوب فيها. في هذه الحالة، تحتاج إلى قفل جميع الأشكال في الورقة المحددة.
أحيانًا، تحتاج إلى تعديل بعض الأشكال في بعض الأوراق المحمية، في هذه الحالة، تحتاج إلى فتح هذه الأشكال.
سيقدم هذا المقال كيفية قفل وفتح الأشكال المحددة بالتفصيل.
حماية جميع الأشكال في ورقة عمل محددة
لحماية جميع الأشكال في صفحة العمل المحددة، استخدم طريقة Worksheet.Protect(ProtectionType)، كما هو موضح في الشيفرة العينية التالية.
Aspose::Cells::Startup(); | |
U16String text = u"This is a test"; | |
Workbook workbook; | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
Shape 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(u"Locked.xlsx", SaveFormat::Xlsx); | |
Aspose::Cells::Cleanup(); |
فتح الأشكال المحددة في ورقة عمل محمية
لفتح الشكل المحدد في صفحة العمل المحمية، استخدم shape.IsLocked و shape.SetIsLocked، كما هو موضح في الشيفرة العينية التالية.
ملاحظة: shape.IsLocked و shape.SetIsLocked لهما معنى فقط عندما تكون الصفحة العمل محمية.
Aspose::Cells::Startup(); | |
Workbook workbook(u"Locked.xlsx"); | |
//Get protected worksheet | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
//Get the specified shape to be unlocked | |
Shape shape = worksheet.GetShapes().Get(u"TextBox 1"); | |
//Unlock the specified shape | |
if (!worksheet.GetProtection().GetAllowEditingObject() && shape.IsLocked()) | |
{ | |
shape.SetIsLocked(false); | |
} | |
workbook.Save(u"UnLocked.xlsx", SaveFormat::Xlsx); | |
Aspose::Cells::Cleanup(); |