Procedimiento de Visual Basic para obtener o establecer posición del Cursor

Trabaje en cualquier lugar desde cualquier dispositivo con Microsoft 365

Actualice a Microsoft 365 para trabajar en cualquier lugar con las características y las actualizaciones más recientes.

Actualizar ahora

Resumen

Puede hacer una llamada de API (interfaz de programación de aplicaciones) de Windows a un archivo DLL de Windows de Microsoft (biblioteca de vínculos dinámicos) para obtener y establecer la posición actual del cursor. La posición actual puede obtenerse mediante la función GetCursorPos en USER32. DLL.

Más información

Microsoft Excel no tiene funcionalidad integrada para obtener o establecer la posición del cursor. Sin embargo, puede utilizar la instrucción Declare en un de Visual Basic para Aplicaciones de Microsoft Excel macro para llamar a una función de Microsoft Windows para obtener acceso a la posición actual. También puede utilizar otra función SetCursorPos para establecer la posición del cursor. La función SetCursorPos puede utilizarse en una estructura de bucle para mover el cursor por la pantalla. Microsoft proporciona ejemplos de Visual Basic para Aplicaciones procedimientos fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita, incluyendo, pero sin limitarse a las garantías implícitas de comerciabilidad y/o idoneidad para un propósito particular. Los procedimientos de Visual Basic en este artículo se proporcionan "tal cual" y Microsoft no garantiza que puede utilizarse en todas las situaciones. Aunque los profesionales de soporte técnico de Microsoft pueden explicarle la funcionalidad de una macro determinada, no modificarán estos ejemplos para ofrecer mayor funcionalidad ni le ayudarán a crear macros para satisfacer sus necesidades específicas. Si tiene poca experiencia en programación, se sugiere consultar uno de los proveedores de soluciones de Microsoft. Los proveedores de soluciones ofrecen una amplia gama de servicios, incluida la creación de macros personalizadas. Para obtener más información acerca de Microsoft Solution Providers, llame al servicio de información de cliente de Microsoft en (800) 426-9400.

EJEMPLOS

  1. Escriba el código siguiente en un nuevo módulo:

    ' 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. Haga clic en cualquier lugar dentro del texto de la rutina Get_Cursor_Pos y presione la tecla F5 para ejecutar la macro Get_Cursor_Pos. Obtendrá un cuadro de mensaje que se muestra con las coordenadas de la posición actual del puntero del mouse.

  3. Haga clic en cualquier lugar dentro del texto de la rutina Set_Cursor_Pos y presione la tecla F5 para ejecutar la macro Set_Cursor_Pos.

El cursor se desplaza en diagonal hacia abajo por la pantalla.

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×