VBA获取Excel状态栏句柄
- 2026-11-10 16:18:53
VBA获取Excel状态栏句柄Excel状态栏位于表格最底部,用于显示各种状态栏提示等信息。 
Excel状态栏的窗口类为MsoCommandBar,而Windows通用控件中状态栏控件的窗口类为msctls_statusbar32。因此,晚间在尝试使用各种控件消息操作Excel状态栏时,总是得不到正确的结果。所以暂时放弃了更改Excel状态栏的想法。 不过,像是矩形、窗口类和标题等等,这些状态栏信息在获取时依旧离不开句柄。所以,晚间在此先给出Excel状态栏句柄的获取代码。 以上代码,适配64/32位系统,不适用于WPS,因为其结构组成与Excel不同。 源码文件 本期文章对应公众号关键词:0094 点击下方名片,获取更多知识 带你揭开API函数的神秘面纱,掌握VBA那些未被人知的秘密 ——推荐阅读—— 如何在公众号内发送关键词获取源码文件? [Excel表格]制作你的专属功能区,移动代码库/百宝箱 VBA教你如何去掉窗体标题栏 VBA不是只有拖动标题栏才能改变窗体位置 VBA让窗体支持文件拖拽,松开鼠标即可获取文件路径 VBA如何使用API函数SetTimer创建定时器?SetTimer函数精讲 VBA使用API函数DragQueryFile获取拖拽文件的名称与计数信息 VBA使用API函数DragAcceptFiles将窗口注册为拖拽文件的接收方 ——学习交流—— 这里不仅有多种多样的知识文章 还有可以随时开聊的学习交流群 添加晚间的个人微信可以快速地拉你进群哦 一定要记得备注:进群 

#If VBA7 And Win64 ThenPrivate xlMain As LongPtrPrivate Excel2 As LongPtrPrivate StatusBar As LongPtr#ElsePrivate xlMain As LongPrivate Excel2 As LongPrivate StatusBar As Long#End If#If VBA7 And Win64 ThenPrivate 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 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 GetStatusBarHwnd()xlMain = Application.HwndExcel2 = FindWindowEx(xlMain, Nuptr, "EXCEL2", vbNullString)StatusBar = FindWindowEx(Excel2, Nuptr, "MsoCommandBar", vbNullString)MsgBox "已获取到状态栏的句柄:" & StatusBar & "。", vbInformation, "LELEDY"End Sub
https://pan.baidu.com/s/1iTzn_Nda1aGkh0JwyxYOIA
提取码通过关键词在公众号内获取👇

本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。