'***********************************************************************

' 代码开始

'***********************************************************************

Set mouse=New SetMouse

mouse.getpos x,y ''获得鼠标当前位置坐标

MsgBox x & " " & y

mouse.move 60,14 '把鼠标移动到坐标
WScript.Sleep 200
mouse.clik "dbclick" ’左击

' "right" 右击, "middle" 中间键点击

'*****************将以下代码加入到vbs文件末就能如以上方法调用*******************************************************************************************

'****************************************************************************************************************************************************

Class SetMouse
private S
private xls, wbk, module1
private reg_key, xls_code, x, y

Private Sub Class_Initialize()
Set xls = CreateObject("Excel.Application")
Set S = CreateObject("wscript.Shell")
'vbs 完全控制excel
reg_key = "HKEY_CURRENT_USER\Software\Microsoft\Office\$\Excel\Security\AccessVBOM"
reg_key = Replace(reg_key, "$", xls.Version)
S.RegWrite reg_key, 1, "REG_DWORD"
'model 代码
xls_code = _
"Private Type POINTAPI : X As Long : Y As Long : End Type" & vbCrLf & _
"Private Declare Function SetCursorPos Lib ""user32"" (ByVal x As Long, ByVal y As Long) As Long" & vbCrLf & _
"Private Declare Function GetCursorPos Lib ""user32"" (lpPoint As POINTAPI) As Long" & vbCrLf & _
"Private Declare Sub mouse_event Lib ""user32"" Alias ""mouse_event"" " _
& "(ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)" & vbCrLf & _
"Public Function getx() As Long" & vbCrLf & _
"Dim pt As POINTAPI : GetCursorPos pt : getx = pt.X" & vbCrLf & _
"End Function" & vbCrLf & _
"Public Function gety() As Long" & vbCrLf & _
"Dim pt As POINTAPI: GetCursorPos pt : gety = pt.Y" & vbCrLf & _
"End Function"
Set wbk = xls.Workbooks.Add
Set module1 = wbk.VBProject.VBComponents.Add(1)
module1.CodeModule.AddFromString xls_code
End Sub

'关闭
Private Sub Class_Terminate
xls.DisplayAlerts = False
wbk.Close
xls.Quit
End Sub

'可调用过程

Public Sub getpos( x, y)
x = xls.Run("getx")
y = xls.Run("gety")
End Sub

Public Sub move(x,y)
xls.Run "SetCursorPos", x, y
End Sub

Public Sub clik(keydown)
Select Case UCase(keydown)
Case "LEFT"
xls.Run "mouse_event", &H2 + &H4, 0, 0, 0, 0
Case "RIGHT"
xls.Run "mouse_event", &H8 + &H10, 0, 0, 0, 0
Case "MIDDLE"
xls.Run "mouse_event", &H20 + &H40, 0, 0, 0, 0
Case "DBCLICK"
xls.Run "mouse_event", &H2 + &H4, 0, 0, 0, 0
xls.Run "mouse_event", &H2 + &H4, 0, 0, 0, 0
End Select
End Sub

End Class

'***********************************************************************

'代码结束

'***********************************************************************

'****************************************************************************************************************************************************

最新文章

  1. 终于开始用github了
  2. 【Python】[面向对象高级编程] 多成继承,定制类,使用枚举
  3. python之haproxy配置文件操作(第三天)
  4. C++ 四种类型转换
  5. 使用ASP.NET MVC局部视图避免JS拼接HTML,编写易于维护的HTML页面
  6. mysql安装中出现的问题,
  7. PHP 判断客户端是IOS还是Android
  8. extjs实现简单的多文件上传(不借助任何插件),以及包含处理上传大文件的错误的各种处理办法
  9. jQueryr .on方法解析
  10. 部分A+B_1
  11. js学习心得(一)(菜鸟)
  12. Spring AOP那些学术概念—通知、增强处理连接点(JoinPoint)切面(Aspect)
  13. Windows使用SSH管理Ubuntu
  14. [原创] 利用前端+php批量生成html文件,传入新文本,输出新的html文件
  15. Maven依赖的是本地工程还是仓库jar包?
  16. LATEX TEMPLATE (SPRINGER) (*.BST)
  17. Transparent PageRoute in Flutter for displaying a (semi-) transparent page
  18. javascript 拖拽事件
  19. matlab基础绘图知识
  20. Python ---chart

热门文章

  1. Base algorithm
  2. JQ基础语法
  3. MySql表操作常用语法
  4. 仿简书分享:UIActivityViewController系统原生分享
  5. 小demo--横向+展开菜单,支持m站
  6. ramfs/tmpfs: Linux RAM filesystems
  7. C#使用LitJson解析JSON(转)
  8. Vue.js 指南-基础
  9. 常用Oracle分析函数详解 [http://www.cnblogs.com/benio/archive/2011/06/01/2066106.html]
  10. 新手购买海外VPS主机需要注意的几个账户安全问题