Обобщена информация
Можете да направите Windows API (интерфейс за програмиране на приложения) към DLL на Microsoft Windows (библиотека с динамични връзки), за да получите и зададете текущата позиция на курсора. Текущата позиция може да бъде получена с помощта на функцията GetCursorPos в USER32.DLL.
Повече информация
Microsoft Excel няма вградената функционалност за получаване или задаване на позицията на курсора. Можете обаче да използвате командата Деклариране в макрос Microsoft Excel Visual Basic приложения, за да се обадите на microsoft Windows за достъп до текущата позиция. Можете също да използвате друга функция SetCursorPos, за да зададете позицията на курсора. Функцията SetCursorPos може да се използва в структура на циклите, за да преместите курсора по екрана.
Microsoft предоставя примери за процедури на Visual Basic за приложения само за илюстрация, без да е изрично или подразбиран гаранция, включително, но не само подразбирушените гаранции за продаваемост и/или годност за определена цел. Процедурите Visual Basic в тази статия са предоставени "както е" и Microsoft не гарантира, че те могат да се използват във всички ситуации. Макар че специалистите по поддръжката на Microsoft могат да ви помогнат да обясните функционалността на конкретен макрос, те няма да променят тези примери, за да предоставят допълнителна функционалност, нито ще ви помогнат да създавате макроси, за да отговаряте на вашите конкретни нужди. Ако имате ограничена работа с програмирането, може да поискате да се консултирате с един от доставчиците на решения на Microsoft. Доставчиците на решения предлагат широка гама от базирани на такси услуги, включително създаване на макроси по избор. За повече информация относно доставчиците на решения на Microsoft се обадете на microsoft Customer Information Service на (800) 426-9400.
ПРИМЕРИ
-
Въведете следния код в нов модул:
' Access the GetCursorPos function in user32.dll
Declare Function GetCursorPos Lib "user32" _
(lpPoint As POINTAPI) As Long
' Access the GetCursorPos function in user32.dll
Declare Function SetCursorPos Lib "user32" _
(ByVal x As Long, ByVal y As Long) As Long
' GetCursorPos requires a variable declared as a custom data type
' that will hold two integers, one for x value and one for y value
Type POINTAPI
X_Pos As Long
Y_Pos As Long
End Type
' Main routine to dimension variables, retrieve cursor position,
' and display coordinates
Sub Get_Cursor_Pos()
' Dimension the variable that will hold the x and y cursor positions
Dim Hold As POINTAPI
' Place the cursor positions in variable Hold
GetCursorPos Hold
' Display the cursor position coordinates
MsgBox "X Position is : " & Hold.X_Pos & Chr(10) & _
"Y Position is : " & Hold.Y_Pos
End Sub
' Routine to set cursor position
Sub Set_Cursor_Pos()
' Looping routine that positions the cursor
For x = 1 To 480 Step 20
SetCursorPos x, x
For y = 1 To 40000: Next
Next x
End Sub -
Щракнете някъде в текста на Get_Cursor_Pos и натиснете клавиша F5, за да изпълните Get_Cursor_Pos макроса.
Ще получите поле за съобщение, показвано с координатите на текущата позиция на показалеца на мишката. -
Щракнете някъде в текста на Set_Cursor_Pos и натиснете клавиша F5, за да изпълните Set_Cursor_Pos макроса.
Курсорът ще се движи диагонално надолу по екрана.