查找 Excel 滚动条的宽度

Find Width of Excel Scroll Bar

Activewindow.UsableWidth 给出了包括垂直滚动条宽度在内的屏幕宽度。有没有办法计算滚动条的宽度?我通过让一个形状为 UsableWidth 而另一个形状为我实际可以看到的形状来测量它,不同之处在于滚动条的宽度。我想知道是否有一种方法可以使它自动化,以便分辨率更高或更低的用户可以使用它,因此可以使用更小或更大的滚动条。

谢谢!

如果您要查找垂直滚动条宽度的值,可以使用 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. More info on the available GetSystemMetrics parameters can be found at this MSDN page 上的信息。)