限制Excel中的自动形状移动

时间:2009-03-11 14:50:13

标签: excel vba

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

我正在尝试创建一个excel表,它执行以下操作:

  1. 通过自定义类
  2. 从数据库中读取信息
  3. 使用读取规范,它会创建自动形状并将它们放在第一张表中
  4. 当有人更改自动形状(即调整大小或移动它们)时,有没有办法获取信息?我想过使用内置事件 - 但是它们不适用于我。我可以用其他任何方式限制自动形状运动吗?

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

    如果有任何帮助,我将不胜感激。

    祝你好运, 麦克

    [编辑]
    我认为比我找到了部分解决方案 - 我会测试它是否有效,如果是的话 - 我会在这里发布。

1 个答案:

答案 0 :(得分:1)

没有适用于形状的事件。您可以做的最好的事情是使用现有事件 - 如SheetChange,SheetSelectionChange,WorkbookBeforeSave等。

然后遍历Sheet.Shapes集合检查更改并还原它们。 您必须知道原始大小和位置。

您是否想过锁定它们并保护表格?