【问题标题】:VBA - Send Keys IE11 Save/OpenVBA - 发送密钥 IE11 保存/打开
【发布时间】:2020-07-27 14:34:36
【问题描述】:

我已从板上取下代码以将密钥发送到 IE11 保存/打开框,当您导出文件但它不工作时会弹出该框(它正在发送到主浏览器)。即使手动尝试(使用 ALT + S),我也无法激活保存/打开框并发送 S 按钮

您是否需要一些设置才能将密钥发送到此弹出窗口?

我在下面放了一个精简版的代码

谢谢

Public Declare PtrSafe Function SetForegroundWindow Lib "user32" (ByVal HWND As LongPtr) As LongPtr

Sub OpenIE()

Dim objIE As InternetExplorer
Set objIE = New InternetExplorer

Dim HWNDSrc As LongPtr
HWNDSrc = objIE.HWND
SetForegroundWindow HWNDSrc


'From https://stackoverflow.com/questions/56893185/controlling-ie11-do-you-want-to-open-save-vba
 Do While objIE.Busy
                Application.Wait DateAdd("s", 1, Now)
            Loop

        'send Alt-S to save
            Application.SendKeys "%{S}"

 'Make sure IE is not busy
             Do While objIE.Busy
                 Application.Wait DateAdd("s", 1, Now)
             Loop

【问题讨论】:

    标签: vba internet-explorer-11 sendkeys


    【解决方案1】:

    请参考下面的示例代码,我们可以先使用getElementbyId方法找到下载按钮,然后点击它显示下载提示,之后我们可以使用Application.SendKeys "%{s}"命令点击保存按钮。

    Sub downloadfile()
    
        Dim IE As Object, Data As Object
        Dim ticket As String
    
        Set IE = CreateObject("InternetExplorer.Application")
    
        With IE
            .Visible = True
            .navigate ("https://dillion132.github.io/default.html")
    
            While IE.ReadyState <> 4
                DoEvents
            Wend
    
            'Trigger the download button to download the file
            IE.Document.getElementbyId("btnDowloadReport").Click
    
            'wait the download prompt appear
            Application.Wait (Now + TimeValue("00:00:03"))
    
            '
            Application.SendKeys "%{s}"
    
        'Waiting for the site to load.
        'loadingSite
        End With
        Set IE = Nothing
    End Sub
    

    网页内容:

    <a id="btnDowloadReport" href="https://research.google.com/pubs/archive/44678.pdf" download>Download</a>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-15
      • 2016-02-02
      • 1970-01-01
      相关资源
      最近更新 更多