保护形状,以便用户可以修改但不能删除

时间:2013-07-03 08:49:46

标签: excel vba shapes protection

所有

我有一个具有一些重要形状的工作簿,我不希望用户能够轻松删除,因为它们与索引链接,并且索引号与其他一堆东西链接。

但是,用户需要能够移动形状并调整它们的大小。

如何在工作表上设置保护以允许用户修改形状但不删除它们。

有人有什么想法吗?非常感谢帮助。

在vba中执行此操作的能力也很有用,因为我的一些宏不保护然后保护单元格。

1 个答案:

答案 0 :(得分:0)

这是不可能的。

您可以使用此代码锁定工作簿中的所有形状

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构建一个插件。 此博客描述了如何为形状执行此操作,并且您可以使用事件来覆盖删除。

create excel events for shapes 要么 Microsoft excel shape events