1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| 'déclarations
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Public Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Public Type POINTAPI
X As Long
Y As Long
End Type
Public Retour As Long 'retour de la fonction GetCursorPos
Public Retour_conversion As Long 'retour de la fonction ScreenToClient
Public Pos_pointeur As POINTAPI 'Position du pointeur sur l'écran
Public Handle As Long 'handle de la fenêtre MS Word
' calcul coordonnée X du pointeur de souris
Function Coord_x() As Long
Retour = GetCursorPos(Pos_pointeur) 'mémorisation coordonnées X/Y du pointeur
Handle = FindWindow("OpusApp", Application.ActiveWindow.Caption & " - " & ActiveDocument.Name) 'recherche du Handle de la fenêtre Windows :
'"OpusApp" : nom de classe d'une application Word
'Application.Caption : titre de la fenêtre Windows
Retour_conversion = ScreenToClient(Handle, Pos_pointeur) 'conversion coordonnées de l'écran
'en coordonnées de l'application
Coord_x = Pos_pointeur.X 'lecture coordonnée x du pointeur
End Function
' calcul coordonnée Y du pointeur de souris
Function Coord_y() As Long
Retour = GetCursorPos(Pos_pointeur) 'mémorisation coordonnées X/Y du pointeur
Handle = FindWindow("OpusApp", Application.ActiveWindow.Caption & " - " & ActiveDocument.Name) 'recherche du Handle de la fenêtre Windows :
'"OpusApp" : nom de classe d'une application Word
'Application.Caption : titre de la fenêtre Windows
Retour_conversion = ScreenToClient(Handle, Pos_pointeur) 'conversion coordonnées de l'écran
'en coordonnées de l'application
Coord_y = Pos_pointeur.Y 'lecture coordonnée y du pointeur
End Function
Public Sub coordonnees()
'laisse le temps de bouger le pointeur de souris à l'emplacement voulu
MsgBox ("Positionner le curseur puis appuyer sur `entrée`")
'affiche les coordonnées x et y calculées plus haut
MsgBox ("x : " & Coord_x & " ; Y : " & Coord_y)
End Sub |
Partager