Lan*_*yer 12 automation vba download internet-explorer-9
这是我在stackoverflow上的第一个问题!
我一直在寻找这个问题的解决方案一段时间,但没有找到任何帮助.我可能只是在我的搜索中使用了错误的关键字,但到目前为止我没有运气.这是问题:
在VBA中,如何从Internet Explorer的文件下载对话框中选择"打开"选项?
只是为了进一步澄清,我说的是在下载文件时,IE9中屏幕底部弹出的黄橙色条.
我正在做一些VBA自动化,使用Internet Explorer从网上下载数百个PDF,但是有一个中间步骤,在我到达实际的PDF之前必须打开.fdf文件.所以我首先需要选择"打开"选项,以便我可以继续进行自动化的下一步.就像我之前说过的那样,我做了很多搜索,到目前为止没有运气.
我已经尝试过使用SendKeys希望打击Enter会起作用,这是最后的努力没有奏效.
在此先感谢您的帮助!
我在这里已经详细介绍了这一点。
\n主题: VBA/VB.Net/VB6\xe2\x80\x93在 IE 下载窗口中单击“打开/保存/取消”按钮 \xe2\x80\x93 第 I 部分
\n\n和
\n编辑(IMP)如果您使用的是 IE 9,请不要忘记阅读第 2 部分,因为它包含并涵盖了 IE 9 下载窗口的窗口结构
\n主题: VBA/VB.Net/VB6\xe2\x80\x93在 IE 下载窗口中单击打开/保存/取消按钮 \xe2\x80\x93 第二部分
\n\n上面的链接讨论了如何使用 API 来实现您想要的目的。
\n从第一个链接...
\n\n\n就像你和我一样,我们都有名字,同样,窗口有 \xe2\x80\x9chandles\xe2\x80\x9d (hWnd)、类等。一旦你知道 hWnd 是什么,与该窗口交互就更容易了。
\n在本例中,Findwindow API 使用类名和窗口标题 (\xe2\x80\x9cFile Download\xe2\x80\x9d) 查找特定窗口的 hWnd。\xe2\x80\x9cOpen\xe2\x80\x9c、\xe2\x80\x9cSave\xe2\x80\x9d 和 \xe2\x80\x9cCancel\xe2\x80\x9d 按钮本身就是窗口,但它们是主窗口为\xe2\x80\x9cFile Download\xe2\x80\x9c。这意味着其中每个窗口也将有一个 hWnd :) 为了查找子窗口,我们不使用 FindWindow,而是使用 FindWindowEx。所有三个按钮 \xe2\x80\x9cOpen\xe2\x80\x9c、\xe2\x80\x9cSave\xe2\x80\x9d 和 \xe2\x80\x9cCancel\xe2\x80\x9d 具有相同的类,即 \xe2 \x80\x9c 按钮\xe2\x80\x9d。
\n