4

我有一个受第三方密码保护的 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 中都试过了。

4

1 回答 1

1

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

  1. BeforeDoubleClick公开活动(我在 Sheet1 中使用了这个 )

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

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

    Range("B17").Select
    Call Sheet1.Worksheet_BeforeDoubleClick(Selection, False)
    
于 2012-10-08T10:51:55.027 回答