形状のロックまたはロック解除
場合によっては、特定のワークシート内のすべての形状を保護して、望ましくない状況によって破壊されるのを防ぐ必要があります。その場合は、指定されたワークシート内のすべての形状をロックする必要があります。
場合によっては、特定の保護されたワークシート内の特定の形状を変更する必要がある場合があります。その場合は、これらの形状をロック解除する必要があります。
この記事では、指定された形状をロックおよびロック解除する方法について詳しく説明します。
指定されたワークシート内のすべての形状を保護
指定されたワークシート内のすべての形状を保護するには、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(); |