Прежде всего, когда вы делаете это
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"