雙擊 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
此例程將導致形狀在功能上忽略第一次單擊,僅在指定時間範圍內第二次單擊時執行所需的程式碼。