Загальні відомості
Ви можете зробити виклик Windows API (прикладного інтерфейсу програмування) до бібліотеки DLL Microsoft Windows (бібліотека динамічного компонування), щоб отримати та встановити поточне положення курсора. Поточне положення можна отримати за допомогою функції GetCursorPos у USER32.DLL.
Додаткові відомості
Microsoft Excel не має вбудованих функцій для отримання або встановлення положення курсору. Однак ви можете скористатися оператором Declare у макросі Microsoft Excel Visual Basic for Applications, щоб викликати функцію Microsoft Windows, щоб отримати доступ до поточної позиції. Також можна скористатися іншою функцією SetCursorPos, щоб установити положення курсору. Функцію SetCursorPos можна використовувати в структурі зациклення, щоб переміщати курсор по екрану.
Корпорація Майкрософт надає приклади Visual Basic for Applications лише на ілюстрації без жодних гарантій, зокрема непрямих гарантій, зокрема непрямих гарантій придатності до придатності до використання та/або придатності для певної мети. У Visual Basic процедури, описані в цій статті, наведено "як є", і корпорація Майкрософт не гарантує, що вони можуть використовуватися в будь-яких ситуаціях. Хоча фахівці служби підтримки Майкрософт можуть допомогти пояснити функціональність певного макросу, вони не змінюють ці приклади, щоб надати додаткові функції, і вони не допоможуть створити макроси відповідно до ваших потреб. Якщо у вас обмежена програма, зверніться до одного з постачальників рішень Microsoft. Постачальники рішень наують широкий спектр платних служб, зокрема створюють настроювані макроси. Щоб отримати додаткові відомості про постачальників рішень Microsoft, зателефонуйте до служби підтримки клієнтів Microsoft за номером (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 макрос.
Курсор переміститься по діагоналі вниз по екрану.