这是我在 stackoverflow 上遇到的第一个问题!
我一直在寻找这个问题的解决方案一段时间,但没有找到任何帮助。我可能只是在搜索中使用了错误的关键字,但到目前为止我还没有运气。这是问题:
在 VBA 中,如何从 Internet Explorer 的文件下载对话框中选择“打开”选项?
为了额外说明,我说的是下载文件时 IE9 中屏幕底部弹出的黄橙色条。
我正在执行一些 VBA 自动化,以使用 Internet Explorer 从网络下载数百个 PDF,但有一个中间步骤,必须在获取实际 PDF 之前打开 .fdf 文件。因此,我首先需要选择“打开”选项,以便我可以继续进行自动化的下一步。就像我之前说的,我已经做了很多搜索,但到目前为止还没有运气。
I've tried using SendKeys
in hopes that hitting Enter would work, and that was a last ditch effort that didn't work.
先谢谢您的帮助!
我在这里已经详细介绍了这一点。
Topic: VBA/VB.Net/VB6 – 单击 IE 下载窗口上的打开/保存/取消按钮 – 第一部分
Link: http://www.siddharthroout.com/2011/10/23/vbavb-netvb6click-opensavecancel-button-on-ie-download-window/ http://www.siddharthrout.com/2011/10/23/vbavb-netvb6click-opensavecancel-button-on-ie-download-window/
and
编辑(IMP)如果您使用的是 IE 9,请不要忘记阅读第 2 部分,因为它包含并涵盖了 IE 9 下载窗口的窗口结构
Topic: VBA/VB.Net/VB6 – 单击 IE 下载窗口上的“打开/保存/取消”按钮 – 第二部分
Link: http://www.siddharthroout.com/2012/02/02/vbavb-netvb6click-opensavecancel-button-on-ie-download-window-part-ii/ http://www.siddharthrout.com/2012/02/02/vbavb-netvb6click-opensavecancel-button-on-ie-download-window-part-ii/
上面的链接讨论了如何使用 API 来实现您想要的目的。
从第一个链接...
就像你和我一样,我们都有名字,同样,窗口也有“句柄”(hWnd)、类等。一旦你知道 hWnd 是什么,与该窗口交互就更容易了。
在本例中,Findwindow API 通过使用类名和窗口标题(“文件下载”)来查找特定窗口的 hWnd。 “打开”、“保存”和“取消”按钮本身就是窗口,但它们是主窗口“文件下载”的子窗口。这意味着其中每个窗口也将有一个 hWnd :) 为了查找子窗口,我们不使用 FindWindow,而是使用 FindWindowEx。 “打开”、“保存”和“取消”这三个按钮都有相同的类,即“按钮”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)