VBA检测窗口字体大小

时间:2018-01-06 09:45:34

标签: excel vba excel-vba

我有一个数据加载程序,可以帮助用户将大量数据数据上传到Oracle。但每个用户可能有自己的窗口分辨率设置和显示字体大小。

是否有任何代码可以检索用户的窗口字体大小?要么是较小的100%,要么是中等的125%?

1 个答案:

答案 0 :(得分:1)

您可以使用相关的注册表项获取[或设置] Windows桌面“缩放级别”

  

HKEY_CURRENT_USER\Control Panel\Desktop\LogPixels

           

<强>值:

     

96 - 较小的100%
  120 - 中等125%
  144 - 更大的150%
  192 - 超大200%
  240 - 自定义250%
  288 - 自定义300%
  384 - 自定义400%
  480 - 自定义500%

如果您的目标是确定相对于屏幕宽度的放置的位置&amp;高度,您可能更好地检查实际的屏幕分辨率,例如:

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
MsgBox "X=" & w & ", Y=" & h
End Sub