[英]How can I bring the Excel window to the foreground after automating Internet Explorer?
我以前曾問過類似的問題,但是從來沒有一個明確的解決方案。 我試圖在不關閉Internet Explorer的情況下使Excel窗口成為前台焦點,並且它在“調試”模式下工作得很好,但是在實際運行時卻不能。 我已經嘗試過AppActivate "Excel"
但這只是使屏幕底部的Excel圖標閃爍。 然后我發現了這個,但我無法正常工作
Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" _
(ByVal hWnd As LongPtr, ByVal nCmdShow As Long) As Long
Global Const SW_MAXIMIZE = 3
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Public Declare PtrSafe Function SetForegroundWindow Lib "user32" _
(ByVal hWnd As Long) As Long
Sub qstn()
Dim IE As New InternetExplorer: IE.navigate "www.cnn.com": IE.Visible = True: apiShowWindow IE.hWnd, SW_MAXIMIZE
LoadIt IE
SetForegroundWindow Application.hWnd
End Sub
Sub LoadIt(ByVal IE As InternetExplorer, Optional ByVal loadmins As Integer = 5)
Do
DoEvents
Loop Until IE.ReadyState = READYSTATE_COMPLETE And IE.Busy = False
End Sub
嘗試這個
sub test()
AppActivate "Microsoft Excel"
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.