Найти ширину полосы прокрутки Excel
Activewindow.UsableWidth дает мне ширину экрана с включенной шириной вертикальной полосы прокрутки. Есть ли способ, которым я могу рассчитать ширину полосы прокрутки? Я измерил его, используя одну форму, которая будет UsableWidth, а другую форму - тем, что я на самом деле вижу, а разницу составляет ширина полосы прокрутки. Мне интересно, есть ли способ автоматизировать его, чтобы он мог использоваться пользователем с более высоким или низким разрешением и, следовательно, с меньшей или большей полосой прокрутки.
Спасибо!
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
(Адаптировано из информации на этой странице. Дополнительную информацию о доступных параметрах GetSystemMetrics можно найти на этой странице MSDN.)