Аннотация

Вы можете сделать 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.

ПРИМЕРЫ

  1. Введите следующий код в новый модуль:

    ' 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
  2. Щелкните в любом месте Get_Cursor_Pos и нажмите клавишу F5, чтобы Get_Cursor_Pos макрос.Отобразилось окно сообщения с координатами текущей позиции указателя мыши.

  3. Щелкните в любом месте Set_Cursor_Pos и нажмите клавишу F5, чтобы Set_Cursor_Pos макрос.

Курсор будет перемещаться по диагонали вниз по экрану.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.