2

我有一个工作簿,其中包含一些我不希望用户轻易删除的形状。它们与索引相关联,而索引号与其他一大堆东西相关联。

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

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

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

4

1 回答 1

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

为形状Microsoft excel 形状事件创建 excel 事件

于 2014-01-09T09:12:17.627 回答