在显示excel数据的时候,我们有时会希望窗口一直保持在最前端。防止打开其他应用把excel窗口挡住。
excel没有自带最前端的功能。我们可以通过第三方软件设置excel窗口最前端。
也可以通过自定义的函数控制是否为最前端
详细源码:
Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hwndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Const HWND_TOPMOST = -1 Const HWND_NOTOPMOST = -2 Const SWP_NOSIZE = &H1 Const SWP_NOMOVE = &H2
Sub 窗口总在最前面() SetWindowPos Application.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE End Sub
Sub 恢复() SetWindowPos Application.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE End Sub
这里用到API函数。在excel中设置两个按钮。调用“窗口总在最前面”和 “恢复”这两个宏就可以了。
效果如图,excel总是在最前面的