找到一个使用Excel在VBScript中移动鼠标的脚本。这几乎就是我正在为我的项目寻找的东西,但是我需要改变一点点才能让我在代码中输入坐标,以便将鼠标专门移动到那些坐标;代码当前使用当前鼠标位置并从该位置移动 - 我需要能够让鼠标移动到ABSOLUTE位置,而不是RELATIVE位置。
这是VBS代码:
Option Explicit
Dim Excel, GetMessagePos, x, y, Count, Position
Set Excel = WScript.CreateObject("Excel.Application")
GetMessagePos = Excel.ExecuteExcel4Macro( _
"CALL(""user32"",""GetMessagePos"",""J"")")
x = CLng("&H" & Right(Hex(GetMessagePos), 4))
y = CLng("&H" & Left(Hex(GetMessagePos), (Len(Hex(GetMessagePos)) - 4)))
Position = "+ 180"
Position = "- 180"
Excel.ExecuteExcel4Macro ( _
"CALL(""user32"",""SetCursorPos"",""JJJ""," & x & " " & Position & "," & y & " " & Position & ")")
WScript.Sleep (100)
WScript.Echo "Program Ended"
根据代码,鼠标的位置从它的CURRENT POSITION +180然后-180移动。我需要改变这个代码,所以我可以把两个位置(在变量名X和Y中)并使用它们来设置鼠标指针的确切位置。
我搞乱了Excel.ExecuteExcel4Macro部分并检查了该功能的文档无济于事。你能帮忙吗?谢谢:))
编辑:我正在使用VBScript,因为我正在创建它的系统被非常锁定。我无法使用任何其他技术,所以请帮助我们!答案 0 :(得分:2)
首先,当你这样做时
Position = "+ 180"
Position = "- 180"
您首先将Position
设置为“+180”,然后立即将其覆盖为“-180”。这样做没有意义。
要更具体地回答您的问题,请替换此部分:
x & " " & Position & "," & y & " " & Position
有这样的事情:
x & "," & y
在此之前,您必须说明光标的新坐标应该是什么,例如
x = "111"
y = "222"
此外,所有这些你不需要也可以删除:
GetMessagePos = Excel.ExecuteExcel4Macro( _
"CALL(""user32"",""GetMessagePos"",""J"")")
x = CLng("&H" & Right(Hex(GetMessagePos), 4))
y = CLng("&H" & Left(Hex(GetMessagePos), (Len(Hex(GetMessagePos)) - 4)))
这就是你得到旧光标位置的地方,你不需要这个,因为你说自己不想设置相对位置。
总而言之,你的脚本应该是这样的:
Option Explicit
Dim Excel, x, y
Set Excel = WScript.CreateObject("Excel.Application")
x = "111"
y = "222"
Excel.ExecuteExcel4Macro ( _
"CALL(""user32"",""SetCursorPos"",""JJJ""," & x & "," & y & ")")
WScript.Sleep (100)
WScript.Echo "Program Ended"