锁定或解锁形状
Contents
[
Hide
]
有时,您需要保护工作表中的所有形状,以防止它们被不需要的情况破坏。在这种情况下,您需要锁定指定工作表中的所有形状。
有时,您需要能够修改受保护工作表中的特定形状,在这种情况下,您需要解锁这些形状。
本文将详细介绍如何锁定和解锁指定的形状。
保护指定工作表中的所有形状
要保护指定工作表中的所有形状,请使用Worksheet.Protect(type)方法,如以下示例代码所示。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from aspose.cells import Workbook, FileFormatType,SaveFormat,ProtectionType | |
text = "This is a test"; | |
workbook = Workbook(); | |
worksheet = workbook.worksheets.get(0); | |
shape = worksheet.shapes.add_text_box(1, 0, 1, 0, 30, 100); | |
shape.text = text; | |
shape = worksheet.shapes.add_rectangle(5, 0, 1, 0, 30, 100); | |
shape.text = text; | |
shape = worksheet.shapes.add_button(9, 0, 1, 0, 30, 100); | |
shape.text = text; | |
shape = worksheet.shapes.add_oval(13, 0, 1, 0, 50, 100); | |
shape.text = text; | |
#Protect all shapes in a specified worksheet | |
shape.worksheet.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.is_locked,如以下示例代码所示。
注意:当工作表受到保护时,shape.is_locked只有意义。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from aspose.cells import Workbook, FileFormatType,SaveFormat,ProtectionType | |
workbook = Workbook(r"Locked.xlsx") | |
#Get protected worksheet | |
worksheet = workbook.worksheets[0] | |
#Get the specified shape to be unlocked | |
shape = worksheet.shapes[0] | |
#Unlock the specified shape | |
if (not worksheet.protection.allow_editing_object and shape.is_locked): | |
shape.is_locked = False; | |
workbook.save(r"UnLocked.xlsx", SaveFormat.XLSX); |