Podsumowanie

Możesz wywołać interfejs Windows API (interfejs programowania aplikacji) do biblioteki DLL Microsoft Windows (biblioteki linku dynamicznego), aby pobrać i ustawić bieżące położenie kursora. Bieżącą pozycję można uzyskać przy użyciu funkcji GetCursorPos w programie USER32.DLL.

Więcej informacji

Microsoft Excel nie ma wbudowanej funkcji służącej do uzyskania lub ustawienia położenia kursora. Można jednak użyć instrukcji Declare w makrze Microsoft Excel Visual Basic for Applications w celu wywołania funkcji Microsoft Windows w celu uzyskania dostępu do bieżącej pozycji. Możesz również ustawić położenie kursora za pomocą innej funkcji SetCursorPos. Funkcji SetCursorPos można używać w strukturze pętli w celu przenoszenia kursora w poprzek ekranu.Firma Microsoft podaje przykłady procedur Visual Basic for Applications tylko na ilustracji, bez gwarancji jawnych lub domniemanych, w tym z gwarancją dorozumianą z tytułu przydatności handlowej i/lub przydatności do określonego celu. Procedury Visual Basic w tym artykule są udostępniane "w takiej, w której są", a firma Microsoft nie gwarantuje, że będzie można ich używać we wszystkich sytuacjach. Pracownicy pomocy technicznej firmy Microsoft mogą pomóc w objaśnieniach funkcjonalności określonego makra, ale nie będą modyfikować tych przykładów w celu dodania funkcji ani nie będą pomagać w konstruować makra w celu zaspokojenia konkretnych potrzeb. Jeśli masz ograniczone środowisko programowania, możesz skonsultować się z jednym z dostawców rozwiązań firmy Microsoft. Dostawcy rozwiązań oferują szeroki zakres usług opartych na opłatach, w tym tworzenie makr niestandardowych. Aby uzyskać więcej informacji na temat dostawców rozwiązań firmy Microsoft, zadzwoń do działu informacji o klientach firmy Microsoft pod numer (800) 426-9400.

PRZYKŁADY

  1. Wpisz następujący kod w nowym module:

    ' 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. Kliknij dowolne miejsce w tekście procedury Get_Cursor_Pos i naciśnij klawisz F5, aby uruchomić Get_Cursor_Pos makro.Zostanie wyświetlone okno komunikatu ze współrzędnymi bieżącej pozycji wskaźnika myszy.

  3. Kliknij dowolne miejsce w tekście procedury Set_Cursor_Pos i naciśnij klawisz F5, aby uruchomić Set_Cursor_Pos makro.

Kursor zostanie przesunął się po przekątnej w dół ekranu.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.