簡體   English   中英

自動化Internet Explorer后如何將Excel窗口置於前台?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM