背着乌龟的刺猬 2021-07-16 11:44 采纳率: 0%
浏览 65

VBA如何操控IE下载弹窗

点击下载按钮后,出现如下弹窗,使用application.sendkeys "%s"不好用,有哪位大咖解决一下

img

  • 写回答

1条回答 默认 最新

  • coder2038 2023-05-31 15:10
    关注
    
    
    Dim hwnd As Long
    
    ' 查找下载弹窗iframe窗口句柄
    For Each iframe In IE.Document.getElementsByTagName("iframe")
        If InStr(iframe.src, "download") > 0 Then
            hwnd = iframe.contentWindow.hwnd
            Exit For
        End If
    Next
    
    ' 发送键盘事件通过TAB选择保存按钮,回车确认
    If hwnd Then
        AppActivate hwnd   ' 激活窗口
        SendKeys "%{TAB}"  ' TAB键选择保存按钮
        SendKeys "%{ENTER}" ' 回车确认
    End If  
    
    ' 或者直接使用Win32 API操作窗口控件
    If hwnd Then
        Dim btn_save As Long
        btn_save = FindWindowEx(hwnd, 0, "Button", "保存")    ' 查找保存按钮句柄
        ClickButton btn_save                                ' 点击保存按钮
    End I
    

    上述代码先查找下载相关iframe的窗口句柄hwnd,然后通过发送键盘事件的方法选择保存按钮并确认。或者直接使用Win32 API查找保存按钮控件句柄,进行点击操作。
    这样,我们就可以通过VBA完全控制IE浏览器的下载弹窗,选择保存路径或打开/保存文件。让VBA自动完成IE的下载操作。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月16日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器