martes, 21 de noviembre de 2017

VBA Access. Módulo CursorPos. Obtener la posición del cursor X,Y.

Option Compare Database
Option Explicit

'http://www.utteraccess.com/forum/index.php?showtopic=1723895

'Windows API Function Declarations
#If Win64 = 1 Then
    Private Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As LongLong
#Else
    Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
#End If

Public Type POINTAPI
    X As Long
    Y As Long
End Type

#If Win64 = 1 Then
    Public Function GetCursorPosX() As LongLong
        Dim n As POINTAPI
        GetCursorPos n
        GetCursorPosX = n.X
    End Function
#Else
    Public Function GetCursorPosX() As Long
        Dim n As POINTAPI
        GetCursorPos n
        GetCursorPosX = n.X
    End Function
#End If

#If Win64 = 1 Then
    Public Function GetCursorPosY() As LongLong
        Dim n As POINTAPI
        GetCursorPos n
        GetCursorPosY = n.Y
    End Function
#Else
    Public Function GetCursorPosY() As Long
        Dim n As POINTAPI
        GetCursorPos n
        GetCursorPosY = n.Y
    End Function
#End If

VBA Access. Redondeo de números decimales con el método medio redondeo. Alternativa a la función Round (bankers round)

 Private Function Redondeo(ByVal Numero As Variant, ByVal Decimales As Integer) As Double     'Aplica método medio redondeo (half round ...