PDA

View Full Version : [VBA EXCEL/API] posizione cursore del mouse


defmaka
01-10-2010, 13:24
Sto cercando di realizzare una macro in VBA che ad ogni click del mouse mi inserisca in una cella della colonna A il valore delle coordinate x y del puntatore. Per ora me la cavo cosė:



Declare Function SetCursorPos Lib "user32" _
(ByVal x As Long, ByVal y As Long) As Long
Public Declare Sub mouse_event Lib "user32" _
(ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, _
ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Declare Function GetMessageExtraInfo Lib "user32" () As Long


Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Public Const MOUSEEVENTF_MIDDLEDOWN = &H20
Public Const MOUSEEVENTF_MIDDLEUP = &H40
Public Const MOUSEEVENTF_MOVE = &H1
Public Const MOUSEEVENTF_ABSOLUTE = &H8000
Public Const MOUSEEVENTF_RIGHTDOWN = &H8
Public Const MOUSEEVENTF_RIGHTUP = &H10

' Access the GetCursorPos function in user32.dll
Declare Function GetCursorPos Lib "user32" _
(lpPoint As POINTAPI) As Long


' GetCursorPos requires a variable declared as a custom data type
' that will hold two integers, one for x value and one for y value
Type POINTAPI
X_Pos As Long
Y_Pos As Long
End Type

Sub Get_Cursor_Pos()

' Dimension the variable that will hold the x and y cursor positions

For i = 1 To 10
Dim Hold As POINTAPI

' Place the cursor positions in variable Hold
GetCursorPos Hold


' Display the cursor position coordinates
MsgBox "X Position is : " & Hold.X_Pos & Chr(10) & _
"Y Position is : " & Hold.Y_Pos


Next i



End Sub





Cosė facendo ho come 10 output i valori, me li annoto e va bene, ma non č molto raffinato.
Suggerimenti?