使⽤VBA让Word或Excel⽂档窗⼝置顶
前⼏天⼯作中需要让excel窗⼝置顶,于是查了下资料,整理成以下内容。
在使⽤Word或Excel时有时需要让窗⼝总是显⽰在最前⾯⽽不被别的窗⼝挡住,虽然Word或Excel并没有提供这样的功能,但是可以在VBA中使⽤API函数“SetWindowPos”让窗⼝总在最前⾯,具体操作如下:
1. 打开需要置顶的⽂档,按Alt+F11快捷键,打开Microsoft Visual Basic for Applications宏代码编辑器,点击插⼊的模块:excel口内打 或者x
2. 在右侧新建的"模块1"中输⼊以下代码:
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
3. 保存,并关闭VBA窗⼝,返回excel窗⼝,在excel窗⼝下,点击视图下的宏的查看宏(或按Alt+F8),弹出宏对话框,选择"窗⼝总在最前⾯",点"执⾏"即可,如需取消置顶,执⾏再次在查看宏下执⾏“恢复”即可:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论