Аннотация

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

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

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

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?

Спасибо за ваш отзыв!

×