삽입 된 이미지를 두 번 클릭하면 Excel vba 함수를 트리거하는 방법은 무엇입니까? 현재이 기능은 Private Sub Workbook_AfterSave(ByVal Success As Boolean)
에 의해 트리거됩니다.VBA - 삽입 된 이미지를 두 번 클릭 할 때 함수를 실행하는 방법
셀을 클릭하거나 하이퍼 링크를 클릭했을 때만 예제를 찾을 수 있지만 이미지를 두 번 클릭하면 예제를 찾을 수 없습니다.
삽입 된 이미지를 두 번 클릭하면 Excel vba 함수를 트리거하는 방법은 무엇입니까? 현재이 기능은 Private Sub Workbook_AfterSave(ByVal Success As Boolean)
에 의해 트리거됩니다.VBA - 삽입 된 이미지를 두 번 클릭 할 때 함수를 실행하는 방법
셀을 클릭하거나 하이퍼 링크를 클릭했을 때만 예제를 찾을 수 있지만 이미지를 두 번 클릭하면 예제를 찾을 수 없습니다.
Excel 이미지에는 액세스와 같은 두 번 클릭 이벤트가 없습니다. 워크 시트 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가 오류를 반환합니다.
뒤에 뒤에 배경 이미지로 셀을 넣고 위에있는 셀을 두 번 클릭하면됩니다.
.
또는 마지막으로 클릭 한 이후 이미지의 할당 된 매크로 확인 시간을 확인할 수 있다고 가정합니다. 이미지가 400ms 일 이내에 두 번 클릭하면이 예제는 MsgBox
표시됩니다 :
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
당신은 클릭 이벤트 후 절차를 활성화 형태로의 OnAction 속성을 할당 할 수 있습니다.
코드 예제는 물론 추가 사각형
과 기존 모양을 위해 쉽게 수정할 수 있습니다.
Sub AddRectangle()
Dim oSht As Worksheet
Dim oShape As Shape
Set oSht = ThisWorkbook.Worksheets("MySheet")
' only if you want to add a new shape, otherwise refer to Name or item no
Set oShape = oSht.Shapes.AddShape(msoShapeRectangle, 100, 100, 50, 50)
oShape.Name = "MyRectangle"
' OnAction property assignes the specified procedure (e.g. "MyProcedure") to the shape object.
oSht.Shapes("MyRectangle").OnAction = "MyProcedure"
End Sub
Sub MyProcedure()
MsgBox "Shape MyRectangle has been clicked."
End Sub
재미있는 해결책은 표결이지만 더블 클릭이 아니라 한 번의 클릭입니다. – ashleedawg
은 힌트에 감사하지만 OP에 대한 의견을 참조하십시오. –
하나가 아닌 두 번 클릭해야합니까? – ashleedawg
예, 더블 클릭하십시오. 싱글 클릭으로 우연히 셀을 클릭하면 기능이 실행됩니다. 함수를로드하는 데 시간이 필요합니다. – Max
더블 클릭을 탐지해야하는 이미지가 하나뿐입니까? 다른 사진에 대해 다른 작업이 있습니까? – ashleedawg