View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
NickHK NickHK is offline
external usenet poster
 
Posts: 4,391
Default determining resolution of current screen display

Graham,
It looks like that property only applies to HTML output and is a
"suggestion" of what you should aim for, not what the current resolution
actually is.
So:
Private Declare Function GetSystemMetrics32 Lib "User32" _
Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long

Private Sub CommandButton1_Click()
Dim w As Long, h As Long
w = GetSystemMetrics32(0) ' width in points
h = GetSystemMetrics32(1) ' height in points
MsgBox Format(w, "#,##0") & " x " & Format(h, "#,##0"), _
vbInformation, "Monitor Size (width x height)"
End Sub

NickHK

"Graham Whitehead" wrote in message
...
Hi, I am trying to determine the users screen resolution because the size

of
charts etc, are going to be dependant on this. I have some code but for
some reason it returns 800x600 on my monitor when it should be 1280x1024.
Can anyone shed any light on this one?
Here is the code:

Sub screensize()

Dim strSize As String

With Application.DefaultWebOptions
Select Case .screensize
Case msoScreenSize800x600
strSize = "800x600"
Case msoScreenSize1024x768
strSize = "1024x768"
Case msoScreenSize1280x1024
strSize = "1280x1024"
Case Else
strSize = "1280x1024"
End Select
End With

MsgBox strSize

End Sub