我有一个受第三方密码保护的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中都试过这个。
答案 0 :(得分:1)
以下是您可以尝试的解决方法(我在Excel 2007上试过这个)
BeforeDoubleClick
个事件(我在Sheet1中使用过这个)
Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,Cancel As Boolean)
在你的宏中只需调用此函数
Range("B17").Select
Call Sheet1.Worksheet_BeforeDoubleClick(Selection, False)