How to retrieve screen size/resolution in MS Access VBA to re-size a form

36,869

Solution 1

For Access 2010 64 bit, you will need to add PtrSafe before Function.

Declare Function GetSystemMetrics32 Lib "User32" _
    Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long

Sub ScreenRes()
Dim w As Long, h As Long
    w = GetSystemMetrics32(0) ' width in points
    h = GetSystemMetrics32(1) ' height in points

End Sub

More info: http://support.microsoft.com/kb/210603

Solution 2

For VBA, a simpler (and therefore possibly more portable) solution might be:

Application.UsableHeight
Application.UsableWidth

As found at Adjust userforms to fit in screen. I am using this successfully with Word 2007 VBA. In my case, Application.UsableWidth gives the actual screen width, Application.UsableHeight gives the actual screen height, minus the height of Windows' taskbar.

Share:
36,869
aSystemOverload
Author by

aSystemOverload

Updated on July 28, 2021

Comments

  • aSystemOverload
    aSystemOverload almost 3 years

    I have two popup forms (parent/child) that I want to be able to automatically re-size depending on the size of the screen.

    How can I retrieve the size of the screen in order to achieve this.