Аннотация
Вы можете сделать Windows API (программный интерфейс приложения) в библиотеку DLL microsoft Windows (динамическая ссылка), чтобы получить и установить текущее положение курсора. Текущую позицию можно получить с помощью функции GetCursorPos в USER32.DLL.
Дополнительная информация
Microsoft Excel не имеют встроенных функций для получения или настройка позиции курсора. Однако с помощью функции Declare в макросе Microsoft Excel Visual Basic для приложений вызвать функцию Microsoft Windows для доступа к текущему положению. Вы также можете использовать другую функцию SetCursorPos, чтобы настроить положение курсора. Функцию SetCursorPos можно использовать в циклической структуре для перемещения курсора по экрану.
Корпорация Майкрософт предоставляет примеры процедур Visual Basic для приложений только для иллюстрации без каких-либо гарантий, выраженных или подразумеваемых, включая, помимо этого, подразумеваемые гарантии пригодности для продавца или пригодности для определенной цели. В Visual Basic этой статье предоставляются процедуры "как есть", и корпорация Майкрософт не гарантирует, что их можно использовать в разных ситуациях. Хотя специалисты службы поддержки Майкрософт могут объяснить функциональные возможности конкретного макроса, они не будут изменять эти примеры, чтобы обеспечить дополнительные функции, и не будут помогать создавать макросы, которые отвечают вашим потребностям. Если у вас ограниченный опыт программирования, обратитесь к одному из поставщиков решений Майкрософт. Поставщики решений предлагают широкий спектр платных служб, включая создание настраиваемого макроса. Для получения дополнительных сведений о поставщиках решений Майкрософт позвоните в службу сведений о клиентах Майкрософт по телефону (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 макрос.
Курсор будет перемещаться по диагонали вниз по экрану.