2024年3月24日发(作者:)

在使用Excel办公时我们需要让Excel窗口总是显示在最前面而不被别的窗口挡住,虽

然Excel并没有提供这样的功能,但可以用下面的方法:

在VBA中使用API函数“SetWindowPos”可以让Excel窗口总在最前面。步骤

如下:

1、新建一个工作簿,按Alt+F11,打开VBA编辑器。

2、单击菜单“插入→模块”,在右侧的代码窗口中粘贴下列代码:

Declare Function SetWindowPos Lib "user32" (ByVal hwn

d As Long, _

ByVal hwndInsertAfter As Long, ByVal x As Long, ByVal

y As Long, _

ByVal cx As Long, ByVal cy As Long, ByVa

l 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、选择宏名“恢复”并运行将取消窗口总在最前面的设置。