先看效果:
先添加类模块,命名为 MousePosition
MousePosition类模块代码:
Option Explicit
Private Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare PtrSafe Function GetInputState Lib "user32" () As Long
Public WithEvents iApp As Application
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Sub Class_Initialize() '类初始化
Set iApp = Excel.Application '设置iApp为当前Excel应用程序实例
getMousePosition
End Sub
Private Sub getMousePosition()
Dim p As POINTAPI
Dim i As Long
Do While True
If Not GetInputState() Then
GetCursorPos p '获取鼠标指针坐标
iApp.StatusBar = p.X & "," & p.Y '将鼠标坐标实时写入状态栏
DoEvents '让出控制权
End If
Loop
End Sub
然后在标准模块中插入如下代码:
Option Explicit
Dim mCls As MousePosition
Sub mStarts()
Set mCls = New MousePosition
End Sub
在VBE中按F5运行mStarts过程