Riepilogo
È possibile effettuare una chiamata api Windows (application programming interface) a una DLL di Microsoft Windows (libreria a collegamento dinamico) per ottenere e impostare la posizione corrente del cursore. La posizione corrente può essere ottenuta usando la funzione GetCursorPos in USER32.DLL.
Ulteriori informazioni
Microsoft Excel non ha la funzionalità incorporata per ottenere o impostare la posizione del cursore. Tuttavia, è possibile usare l'istruzione Declare in una macro Microsoft Excel Visual Basic, Applications Edition per chiamare una funzione Windows Microsoft per accedere alla posizione corrente. È anche possibile usare un'altra funzione SetCursorPos per impostare la posizione del cursore. La funzione SetCursorPos può essere usata in una struttura a ciclo continuo per spostare il cursore sullo schermo.
Microsoft fornisce esempi di procedure Visual Basic, Applications Edition solo per illustrazione, senza garanzie espresse o implicite, incluse, ma non limitate alle garanzie implicite di esercentibilità e/o idoneità per uno scopo specifico. Le Visual Basic descritte in questo articolo sono fornite "così come sono" e Microsoft non garantisce che possano essere usate in tutte le situazioni. Anche se i professionisti del supporto tecnico Microsoft possono spiegare le funzionalità di una particolare macro, non modificheranno questi esempi per fornire funzionalità aggiuntive, né aiuteranno a creare macro in base alle specifiche esigenze. Se l'esperienza di programmazione è limitata, è possibile consultare uno dei provider di soluzioni Microsoft. I provider di soluzioni offrono un'ampia gamma di servizi a pagamento, tra cui la creazione di macro personalizzate. Per altre informazioni sui Provider di soluzioni Microsoft, chiamare il Servizio informazioni sul cliente Microsoft al numero (800) 426-9400.
ESEMPI
-
Digitare il codice seguente in un nuovo modulo:
' 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 -
Fare clic in un punto qualsiasi all'interno del testo della routine Get_Cursor_Pos e premere F5 per eseguire la macro Get_Cursor_Pos macro.
Verrà visualizzata una finestra di messaggio con le coordinate della posizione corrente del puntatore del mouse. -
Fare clic in un punto qualsiasi all'interno del testo della routine Set_Cursor_Pos e premere F5 per eseguire la macro Set_Cursor_Pos macro.
Il cursore si sposterà diagonalmente verso il basso sullo schermo.