Visual Basic-Prozedur Cursorposition abrufen/festlegen


Zusammenfassung


Sie können ein Windows-API (Application programming Interface) für den Aufruf einer Microsoft Windows DLL (Dynamic Link Library) erzeugen und damit die aktuelle Cursorposition abrufen und setzen. Die aktuelle Position kann in USER32 GetCursorPos Funktion abgerufen werden. DLL.

Weitere Informationen


Microsoft Excel verfügt nicht über integrierte Funktionen zum Abrufen oder Festlegen der Cursorposition. Jedoch können die Declare-Anweisung in eine Microsoft Excel Visual Basic for Applications-Makro Sie eine Microsoft Windows-Funktion Zugriff auf die aktuelle Position. Eine andere Funktion SetCursorPos können Sie die Cursorposition festzulegen. Die SetCursorPos-Funktion in eine Schleifenstruktur lässt sich über den Bildschirm bewegen. Microsoft liefert Beispiele von Visual Basic for Applications Prozeduren zur Veranschaulichung, ohne ausdrücklich oder konkludent, einschließlich, aber nicht beschränkt auf die gesetzlichen Garantien der Handelsüblichkeit und/oder Eignung für einen bestimmten Zweck. Visual Basic-Prozeduren in diesem Artikel werden "wie" bereitgestellt, und Microsoft garantiert nicht, dass sie in allen Situationen verwendet werden können. Microsoft-Supportmitarbeiter können der Erläuterung der Funktionalität bestimmter Makros helfen, ändern sie diese Beispiele Funktionalität nicht und helfen sie Makros, um Ihre Bedürfnisse erstellen. Wenn Programmierungskenntnisse begrenzte möchten Sie einen von Microsoft Solution Provider. Lösungsanbieter bieten eine Breite Palette gebührenpflichtiger Dienstleistungen, einschließlich benutzerdefinierte Makros erstellen. Rufen Sie weitere Informationen zu Microsoft Solution Providern Microsoft-Kundendienst unter (800) 426-9400.

BEISPIELE

  1. 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
  2. Klicken Sie im Text der Get_Cursor_Pos-Routine, und drücken Sie F5, um das Get_Cursor_Pos-Makro ausgeführt. Sie erhalten ein Meldungsfeld mit den Koordinaten der aktuellen Position des Mauszeigers angezeigt.
  3. Klicken Sie im Text der Set_Cursor_Pos-Routine, und drücken Sie F5, um das Set_Cursor_Pos-Makro ausgeführt.
Der Cursor wird diagonal über den Bildschirm nach unten.