发布网友 发布时间:2024-07-11 06:32
共1个回答
热心网友 时间:2024-07-16 11:14
有时我们需要让Excel窗口总是显示在最前面而不被别的窗口挡住,虽然Excel并没有提供这样的功能,但可以用下面的方法:
方法一:使用软件
能够实现让窗口总在最前面的软件非常多,例如“前台小精灵2.0”就是这样一款绿色的免费小软件,它能让任意窗口“始终在最前面”,可以到“华军软件园”的相关页面下载(单击这里打开下载页面)。软件的使用也非常简单:先设置前台和恢复热键,然后激活需要设置的Excel窗口,按下前台热键即可。
方法二:用VBA代码
在VBA中使用API函数“SetWindowPos”可以让Excel窗口总在最前面。步骤如下:
1.新建一个工作簿,按Alt+F11,打开VBA编辑器。
2.单击菜单“插入→模块”,在右侧的代码窗口中粘贴下列代码:
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
关闭VBA编辑器。
3.在Excel界面工作表界面中按快捷键Alt+F8,打开“宏”对话框,选择宏名“窗口总在最前面”,单击“执行”按钮即可让Excel窗口总在最前面。
4.选择宏名“恢复”并运行将取消窗口总在最前面的设置