在Excel中限制自动移动

这是我第一个问题,所以尽量不要苛刻。

我正在尝试创build一个Excel工作表,它执行以下操作:

  1. 通过自定义的类从数据库读取信息
  2. 使用读取的规格,它创buildautoshapes并把它们放在第一张

当有人改变自动形状(即resize或移动它们)时,有没有办法获取信息? 我想过使用内置的事件 – 但其中没有一个适合我。 我能否以任何其他方式限制autoshape动作?

此表格需要在Microsoft Office 2003中完成。

我会很感激任何帮助。

最好的问候,迈克。

[编辑]
我觉得比我find了一个部分的解决scheme – 我会testing它是否有效,如果是的话 – 我会在这里发布。

不,没有适用于形状的事件。 最好的办法是使用现有的事件 – 如SheetChange,SheetSelectionChange,WorkbookBeforeSave等

然后遍历Sheet.Shapes集合检查更改并还原它们。 你将不得不知道原始大小和位置。

你有没有想过只locking它们并保护表格?