查找 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 上的信息。)
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 上的信息。)