Private Declare PtrSafe 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)
Private Const MOUSEEVENTF_ABSOLUTE = &H8000 '指定鼠标使用绝对坐标系,此时,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
Private Const MOUSEEVENTF_MOVE = &H1 '移动鼠标
Private Const MOUSEEVENTF_LEFTDOWN = &H2 '模拟鼠标左键按下
Private Const MOUSEEVENTF_LEFTUP = &H4 '模拟鼠标左键抬起
Private Const SW = 1366 '1024
Private Const SH = 768 '768
Private Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAP) As Long
Private Sub Screen_Click(ByVal x As Long, ByVal y As Long)
Application.Wait Now() + VBA.TimeValue("00:00:03")
mw = Int(x / SW * 65535)
mh = Int(y / SH * 65535)
'MsgBox "X坐标:" & mw & " Y坐标:" & mh
mouse_event MOUSEEVENTF_ABSOLUTE & MOUSEEVENTF_MOVE, mw, mh, 0, 0
'mouse_event MOUSEEVENTF_LEFTDOWN & MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub
Sub TEST()
Screen_Click 1106, 750
End Sub
移动鼠标用SetCursorPos就可以了。