View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Greg Wilson Greg Wilson is offline
external usenet poster
 
Posts: 747
Default Mouse X-Y Coordinates

The code below will return the x- and y-coordinates in pixels as opposed to
points. Note that it is also window based instead of worksheet based. Doing
something with it is the challenge:

Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Type POINTAPI
x As Long
y As Long
End Type

Sub xxx()
Dim pos As POINTAPI
GetCursorPos pos
MsgBox pos.x & vbCr & pos.y
End Sub

I have recently posted code that determines the position of the top-left
corner of the worksheet in pixels and also converts pixels to points and
compensates (albeit not perfectly) for zoom. You need to know the position of
the top-left corner of the worksheet in pixels so that you can subtract the
correct offsets if you are to convert to points. You can thus direct the
cursor to a specified point within the worksheet. If you're interested:

http://tinyurl.com/l7uog

Regards,
Greg


"Bob" wrote:

How can I get the x and y coordinates of where the mouse happens to be at
any particular moment on the screen?