Изображения Excel не имеют события двойного щелчка (например, Access). На листе есть Worksheet_BeforeDoubleClick
:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox ("Application.Caller: " & IIf(IsError(Application.Caller), Err.Description, _
Application.Caller) & vbLf & "Target.Address: " & _
IIf(IsError(Target.Address), Err.Description, Target.Address))
End Sub
Я не уверен, как проверить, было ли изображение двойным щелчком — Application.Caller возвращает ошибку, если выбрана не ячейка.
Вы можете поместить изображение позади ячеек в качестве фонового изображения и действовать при двойном щелчке ячеек над ним.
.
Или, я полагаю, вы могли бы заставить макрос, назначенный изображению, проверять, сколько времени прошло с момента последнего щелчка по нему. В этом примере будет отображаться MsgBox
, если изображение щелкнули дважды в течение 400 мс:
Public clickedPic As String
Public lastTimer As Single
Sub Picture2_Click()
clickedPic = Application.Caller
If (Timer - lastTimer) < 0.5 Then
MsgBox "doubleclick"
er
End If
lastTimer = Timer
Debug.Print clickedPic, Now()
End Sub
person
ashleedawg
schedule
24.11.2017