会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 编程心得绝招 > 实际编程 > 正文

如何使 Microsoft Excel“总在前面”

时间:2006-11-22 22:19 来源:网络 作者:小鱼 阅读:
下面的示例代码说明如何使 Microsoft Excel“总在前面”。这可以防止其他应用程序显示在 Microsoft Excel 前面。

Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, _
                            ByVal lpWindowName As String) As Long
Private 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
Global Const HWND_TOPMOST = -1
Global Const HWND_NOTOPMOST = -2

Sub SetOnTop()
    Dim WinHnd As Long, SUCCESS As Long
    WinHnd = FindWindow("xlmain", Application.Caption)  '如若要设置程序为access,请将ClassName "xlmain" 改为 "Omain" 即可。
   
    SUCCESS = SetWindowPos(WinHnd, HWND_TOPMOST, 0, 0, 0, 0, Flags)
    '下面一行只是为了 20 秒之后将 Excel 切换回正常操作状态
    Application.OnTime Now + TimeValue("00:00:20"), "NotOnTop"
End Sub

Sub NotOnTop()
    Dim WinHnd As Long, SUCCESS As Long
    WinHnd = FindWindow("xlmain", Application.Caption)
    SUCCESS = SetWindowPos(WinHnd, HWND_NOTOPMOST, 0, 0, 0, 0, Flags)
End Sub

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: