Résumé
Vous pouvez faire appel à une API Windows (interface de programmation d’application) à une DLL Microsoft Windows (bibliothèque de liens dynamiques) pour obtenir et définir la position actuelle du curseur. La position actuelle peut être obtenue à l’aide de la fonction GetCursorPos dans USER32.DLL.
Informations supplémentaires
Microsoft Excel ne comprend pas la fonctionnalité intégrée pour obtenir ou définir la position du curseur. Toutefois, vous pouvez utiliser l’instruction Declare dans une macro Microsoft Excel Visual Basic pour Applications pour appeler une fonction Microsoft Windows pour accéder à la position actuelle. Vous pouvez également utiliser une autre fonction SetCursorPos pour définir la position du curseur. La fonction SetCursorPos peut être utilisée dans une structure en boucle pour déplacer le curseur sur l’écran.
Microsoft fournit des exemples de procédures Visual Basic pour Applications pour illustration uniquement, sans garantie, exprimée ou implicite, y compris, mais sans s’y limiter les garanties implicites de qualité marchande et/ou d’aptitude à un usage particulier. Les Visual Basic de cet article sont fournies « en l’états » et Microsoft ne garantit pas qu’elles pourront être utilisées dans toutes les situations. Si les professionnels du support technique Microsoft peuvent vous aider à expliquer la fonctionnalité d’une macro particulière, ils ne modifient pas ces exemples pour offrir des fonctionnalités ajoutées et ne vous aident pas à créer des macros pour répondre à vos besoins spécifiques. Si vous n’avez qu’une expérience en programmation limitée, consultez l’un des fournisseurs de solutions Microsoft. Les fournisseurs de solutions offrent un large éventail de services basés sur des frais, y compris la création de macros personnalisées. Pour plus d’informations sur les fournisseurs de solutions Microsoft, appelez microsoft Customer Information Service au (800) 426-9400.EXEMPLES
-
Tapez le code suivant dans un nouveau module :
' 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 -
Cliquez n’importe où dans le texte de Get_Cursor_Pos routine, puis appuyez sur la touche F5 pour exécuter Get_Cursor_Pos macro.
Une zone de message s’affiche avec les coordonnées de la position actuelle du pointeur de la souris. -
Cliquez n’importe où dans le texte de Set_Cursor_Pos routine, puis appuyez sur la touche F5 pour exécuter Set_Cursor_Pos macro.
Le curseur se déplace en diagonale vers le bas de l’écran.