移动鼠标 – VBScript和Excelmacros

find一个使用Excel在VBScript中移动鼠标的脚本。 这几乎是我正在寻找我的项目,但是我需要改变一点点,以使我能够在代码中input坐标,以专门将鼠标移动到这些坐标; 该代码当前使用当前的鼠标位置,并从该位置移动 – 我需要能够将鼠标移动到一个绝对的位置,而不是一个相对的。

这是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。 我需要改变这个代码,所以我可以把这两个位置(在variables名称X和Y),并使用它们来设置鼠标指针的确切位置。

我已经搞乱了Excel.ExecuteExcel4Macro部分,并检查了function的文档无济于事。 请你帮忙吗? 谢谢 :)

编辑:我使用VBScript,因为我创build这个系统是非常locking。 我没有办法使用任何其他技术吧,所以帮助将不胜感激!

首先,当你这样做

 Position = "+ 180" Position = "- 180" 

您首先将Position设置为“+180”,然后立即将其覆盖为“-180”。 这样做没有意义。

要更具体地回答您的问题,请replace此部分:

 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" 
Interesting Posts