双击 Excel 形状的事件
默认情况下,Excel 中的形状没有特定的方法来处理单击与双击,只包含 OnAction
属性以允许你处理点击。但是,在某些情况下,你的代码可能要求你在双击时采取不同(或排他)的行为。以下子例程可以添加到你的 VBA 项目中,当设置为你的形状的 OnAction
例程时,允许你按双击操作。
Public Const DOUBLECLICK_WAIT as Double = 0.25 'Modify to adjust click delay
Public LastClickObj As String, LastClickTime As Date
Sub ShapeDoubleClick()
If LastClickObj = "" Then
LastClickObj = Application.Caller
LastClickTime = CDbl(Timer)
Else
If CDbl(Timer) - LastClickTime > DOUBLECLICK_WAIT Then
LastClickObj = Application.Caller
LastClickTime = CDbl(Timer)
Else
If LastClickObj = Application.Caller Then
'Your desired Double Click code here
LastClickObj = ""
Else
LastClickObj = Application.Caller
LastClickTime = CDbl(Timer)
End If
End If
End If
End Sub
此例程将导致形状在功能上忽略第一次单击,仅在指定时间范围内第二次单击时运行所需的代码。