我有一个工作簿,其中包含一些我不希望用户轻易删除的形状。它们与索引相关联,而索引号与其他一大堆东西相关联。
但是,用户需要移动形状并调整它们的大小。
如何在工作表上设置保护以允许用户修改形状但不能删除它们?
在 VBA 中执行此操作的能力也会很有用,因为我的一些宏取消保护然后保护单元格。
我有一个工作簿,其中包含一些我不希望用户轻易删除的形状。它们与索引相关联,而索引号与其他一大堆东西相关联。
但是,用户需要移动形状并调整它们的大小。
如何在工作表上设置保护以允许用户修改形状但不能删除它们?
在 VBA 中执行此操作的能力也会很有用,因为我的一些宏取消保护然后保护单元格。
这是不可能的。
您可以使用此代码锁定工作簿中的所有形状
Private Sub Workbook_Open()
ActiveSheet.Protect Password:="test", userinterfaceonly:=True
Dim shape As shape
For Each shape In ActiveSheet.Shapes
shape.Locked = True
Next
End Sub
或者您在 dot.net 中为 Excel 构建一个插件。此博客描述了如何对形状执行此操作,并且您可以在其中使用事件来覆盖删除。