一、了解两个Windows Api函数
二、了解窗口的基础信息
#If VBA7 And Win64 ThenPrivate xlMain As LongPtrPrivate xlDesk As LongPtrPrivate Excel7 As LongPtrPrivate ScrollbarH As LongPtrPrivate ScrollbarV As LongPtr#ElsePrivate xlMain As LongPrivate xlDesk As LongPrivate Excel7 As LongPrivate ScrollbarH As LongPrivate ScrollbarV As Long#End If#If VBA7 And Win64 ThenPrivate Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtrPrivate Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As LongPtr, ByVal hWnd2 As LongPtr, ByVal lpsz1 As String, ByVal lpsz2 As String) As LongPtr#ElsePrivate Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long#End IfPublic Sub GetScrollbarHwnd()xlMain = Application.hwndxlDesk = FindWindowEx(xlMain, Nuptr, "XLDESK", vbNullString)Excel7 = FindWindowEx(xlDesk, Nuptr, "EXCEL7", vbNullString)ScrollbarH = FindWindowEx(Excel7, Nuptr, "NUIScrollbar", "水平")ScrollbarV = FindWindowEx(Excel7, Nuptr, "NUIScrollbar", "垂直")MsgBox "已获取到Excel水平滚动条的句柄:" & ScrollbarH & ",垂直滚动条的句柄:" & ScrollbarV & "。", vbInformation, "LELEDY"End Sub

