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.