学习Excel技术,关注微信公众号:
excelperfect
这是wellsr.com提供的一小段VBA程序,可以方便地得到当前光标所在的位置坐标。
'API声明
Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'自定义类型变量
Type POINTAPI
Xcoord As Long
Ycoord As Long
End Type
Sub GetCursorPosDemo()
Dim llCoord As POINTAPI
'获取鼠标位置
GetCursorPos llCoord
'显示鼠标位置坐标
MsgBox "X坐标: " & llCoord.Xcoord& vbNewLine & _
"Y坐标: " & llCoord.Ycoord
End Sub
在程序中,利用了user32.dll库并自定义了数据类型POINTAPI用于在消息框中返回鼠标位置。
在VBE中输入或者复制粘贴上面的程序,运行GetCursorPosDemo过程,得到的结果如下图1所示。
图1
当然,你的鼠标所在的位置不同,上面的坐标值也不同。
小结
1. user32库可以做很多事情!除了能够像本示例一样返回鼠标的位置坐标外,还可以使用它来进行单击鼠标操作和更改鼠标位置。这些操作我们后续的文章再介绍。
2. 我们可以获取并记录下鼠标移动的一系列位置,然后可以使用另外的方法来还原鼠标的移动或操作轨迹。