点击下载按钮后,出现如下弹窗,使用application.sendkeys "%s"不好用,有哪位大咖解决一下
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的下载操作。解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器