Visual Basic-Prozedur zum Abrufen/Festlegen der Cursorposition

Zusammenfassung

Sie können über eine Windows-API (Application Programming Interface) eine Microsoft Windows-DLL (Dynamic Link Library) aufrufen, um die aktuelle Cursorposition abzurufen und festzulegen. Die aktuelle Position kann mit der Funktion GetCursorPos in USER32.DLL ermittelt werden.

Weitere Informationen

Microsoft Excel verfügt nicht über die integrierte Funktionalität zum Abrufen 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 aufzurufen und auf die aktuelle Position zuzugreifen. Sie können auch eine andere Funktion SetCursorPos verwenden, um die Cursorposition festzulegen. Die Funktion SetCursorPos 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 ausdrückliche oder stillschweigende Garantie, einschließlich, aber nicht beschränkt auf die stillschweigenden Garantien der Marktgängigkeit und/oder Eignung für einen bestimmten Zweck. Die Visual Basic-Verfahren in diesem Artikel werden ohne Mängelgewähr bereitgestellt, und Microsoft garantiert nicht, dass sie in allen Situationen verwendet werden können. Die Microsoft Support-Spezialisten können zwar bei der Erläuterung der Funktionalität eines bestimmten Makros helfen, jedoch werden sie diese Beispiele weder modifizieren, um zusätzliche Funktionalität bereitzustellen, noch helfen sie Ihnen beim Erstellen von Makros, die Ihren speziellen Anforderungen entsprechen. Wenn Sie nur über eingeschränkte Programmierkenntnisse verfügen, können Sie sich an einen der Microsoft-Lösungsanbieter wenden. Lösungsanbieter bieten eine breite Palette kostenpflichtiger Dienste an, einschließlich der Erstellung benutzerdefinierter Makros. Weitere Informationen zu Microsoft-Lösungsanbietern erhalten Sie vom 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 auf eine beliebige Stelle im Text der Get_Cursor_Pos Routine, und drücken Sie die Taste F5, um das Get_Cursor_Pos Makro auszuführen.

    Es wird ein Meldungsfenster mit den Koordinaten der aktuellen Position des Mauszeigers angezeigt.

  3. Klicken Sie auf eine beliebige Stelle im Text der Set_Cursor_Pos Routine, und drücken Sie die Taste F5, um das Set_Cursor_Pos Makro auszuführen.

Der Cursor bewegt sich diagonal über den Bildschirm nach unten.