Zusammenfassung
Sie können einen Aufruf einer Windows-API (Anwendungsprogrammierschnittstelle) für eine Microsoft Windows-DLL (Dynamic Link Library) erstellen, um die aktuelle Cursorposition abrufen und festlegen zu können. Die aktuelle Position kann mithilfe der GetCursorPos-Funktion in USER32.DLL.
Weitere Informationen
Microsoft Excel verfügt nicht über die integrierte Funktion zum Ab- oder Festlegen der Cursorposition. Sie können jedoch die Declare-Anweisung in einem Microsoft Excel Visual Basic for Applications-Makro verwenden, um eine Microsoft Windows-Funktion auf die aktuelle Position zu rufen. Sie können auch eine andere Funktion verwenden, um die Cursorposition zu setzen. Die SetCursorPos-Funktion kann in einer Schleifenstruktur verwendet werden, um den Cursor über den Bildschirm zu bewegen.
Microsoft stellt Beispiele für Visual Basic for Applications-Verfahren nur zur Veranschaulichung zur Verfügung, ohne entweder ausgedrückte oder implizierte Garantie, einschließlich, aber nicht beschränkt auf implizierte Garantien der Handelsbarkeit und/oder Eignung für einen bestimmten Zweck. Die Visual Basic in diesem Artikel werden "wie bes" bereitgestellt, und Microsoft garantiert nicht, dass sie in allen Situationen verwendet werden können. Microsoft-Supportprofis können zwar dabei helfen, die Funktionalität eines bestimmten Makros zu erläutern, aber sie ändern diese Beispiele nicht, um zusätzliche Funktionen bereitzustellen, und sie helfen auch nicht beim Erstellen von Makros, die Ihren speziellen Anforderungen entsprechen. Wenn Sie nur über eingeschränkte Programmierkenntnisse verfügen, sollten Sie einen der Microsoft-Lösungsanbieter zu Rate lesen. Lösungsanbieter bieten eine Vielzahl von gebührenbasierten Diensten an, einschließlich der Erstellung von benutzerdefinierten Makros. Weitere Informationen zu Microsoft-Lösungsanbietern erhalten Sie beim Microsoft-Kundendienst unter (0800) 426-9400.BEISPIELE
-
Geben Sie den folgenden Code in ein neues Modul ein:
' 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 -
Klicken Sie auf eine beliebige Stelle im Text der Get_Cursor_Pos, und drücken Sie F5, um das Makro Get_Cursor_Pos ausführen.
Es wird ein Meldungsfeld mit den Koordinaten der aktuellen Position des Mauszeigers angezeigt. -
Klicken Sie auf eine beliebige Stelle im Text der Set_Cursor_Pos, und drücken Sie F5, um das Makro Set_Cursor_Pos ausführen.
Der Cursor wird diagonal nach unten über den Bildschirm bewegt.