Procédure Visual Basic à la Position du curseur Get/Set


Résumé


Vous pouvez effectuer un appel de Windows API (interface de programmation d’application) dans une DLL (dynamic-link Library) pour obtenir et définir la position actuelle du curseur de Microsoft Windows. La position actuelle peut être obtenue à l’aide de la fonction GetCursorPos http://msdn.Microsoft.com/fr-fr/library/ms648390 dans USER32. DLL.

Informations supplémentaires


Microsoft Excel ne dispose pas de fonctionnalités intégrées pour obtenir ou définir la position du curseur. Toutefois, vous pouvez utiliser l’instruction Declare dans un de Visual Basic pour Applications Microsoft Excel macro de pour appeler une fonction de 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 de boucles pour déplacer le curseur à l’écran. Microsoft fournit des exemples de Visual Basic pour Applications des procédures à titre d’illustration uniquement, sans garantie expresse ou implicite, y compris, de manière non limitative, les garanties implicites de qualité marchande et/ou d’adéquation à un usage particulier. Les procédures Visual Basic dans cet article sont fournies « en l’état » et Microsoft ne garantit pas qu’ils peuvent être utilisés dans toutes les situations. Bien que les techniciens du support technique Microsoft peuvent aider à expliquer la fonctionnalité d’une macro particulière, ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires, ni ne vous aideront à construire des macros pour répondre à vos besoins spécifiques. Si l’expérience de programmation est limité, vous souhaiterez peut-être consulter l’un des fournisseurs de solutions Microsoft. Fournisseurs de solutions proposent une large gamme de services payants, y compris la création de macros personnalisées. Pour plus d’informations sur les fournisseurs de solutions Microsoft, appelez le Service clients Microsoft d’informations (800) 426-9400.

EXEMPLES

  1. 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
  2. Cliquez n’importe où dans le texte de la routine Get_Cursor_Pos et appuyez sur la touche F5 pour exécuter la macro Get_Cursor_Pos. Vous obtenez une boîte de message s’affiche avec les coordonnées de la position actuelle du pointeur de la souris.
  3. Cliquez n’importe où dans le texte de la routine Set_Cursor_Pos et appuyez sur la touche F5 pour exécuter la macro Set_Cursor_Pos.
Le curseur se déplace en diagonale vers le bas sur l’écran.