查找Excel滚动条的宽度

时间:2016-05-27 20:28:35

标签: excel-vba scrollbar active-window vba excel

Activewindow.UsableWidth为我提供了包含Vertical Scroll Bar的宽度的屏幕宽度。有没有办法计算滚动条的宽度?我通过将一个形状设为UsableWidth来测量它,另一个形状是我实际可以看到的形状,不同之处在于滚动条的宽度。我想知道是否有自动化方法,因此可以由分辨率更高或更低的用户使用,因此可以使用更小或更大的滚动条。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您要查找垂直滚动条宽度的值,可以使用Windows API调用:

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

Public Const SM_CXVSCROLL = 2

______________________________________

Sub ShowVScrollWidth()

    Dim lVScrollWidth As Long

    lVScrollWidth = GetSystemMetrics32(SM_CXVSCROLL)

    Debug.Print lVScrollWidth

End Sub

(改编自this page上的信息。有关可用GetSystemMetrics参数的更多信息,请访问this MSDN page。)