Excel:触发双击事件

时间:2012-10-08 09:38:08

标签: excel excel-vba password-protection double-click vba

我有一个受第三方密码保护的Excel工作簿。该工作表中的交互是通过双击来切换字段中的复选标记完成的。我必须完成7000次双击才能完成此任务,所以我想自动化它。我怀疑是工作表正在使用BeforeDoubleClick事件。密码加密隐藏了实际的实现。

我开始在自己的工作表中运行测试,没有密码来统治这些问题。

我尝试过Application.DoubleClick:

Range("B17").Select
Application.DoubleClick

但是这不会触发我的事件代码(Worksheet_BeforeDoubleClick),它可以用于“真正的”双击。

显然是根据MS的设计: http://msdn.microsoft.com/en-us/library/office/aa220809(v=office.11).aspx

  

DoubleClick方法不会导致此事件发生。

我无法直接调用第三方事件代码,因为sub是私有的。有办法解决这个问题吗?

我在Excel 2003和2007中都试过这个。

1 个答案:

答案 0 :(得分:1)

以下是您可以尝试的解决方法(我在Excel 2007上试过这个)

  1. 公开BeforeDoubleClick个事件(我在Sheet1中使用过这个)
      

    Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,Cancel As Boolean)

  2.   
  3. 在你的宏中只需调用此函数

    Range("B17").Select
    Call Sheet1.Worksheet_BeforeDoubleClick(Selection, False)