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
-
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 -
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. -
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.