ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3119|回复: 5

[求助] Outlook vba 如何自动确认下载文件时IE弹出的 是否保存或打开来自 X.COM 的X吗?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-3-7 17:17 | 显示全部楼层 |阅读模式
就是点击下载之后IE会弹出的一个对话框,可以选择打开,保存,取消。保存那个按钮还能下拉另存为。




我的代码

   Dim IE
   Set IE = CreateObject("InternetExplorer.application")
   IE.Visible = True
   
   IE.Navigate URL:="http://w3.huawei.com/axe/servlet/download?dlType=ebs&fileName=20180305/o_13907716_20180305232258.csv.zip&runId=13907716"
   
   Do Until IE.Readystate = 4    '  检查网页是否加载完毕(4表示完全加载)
   DoEvents                ' 循环中交回工作权限给系统,以免“软死机”
Loop




因为我的IE自动保存了用户名密码,所以到这里位置网页就已经打开了。并且提示是否下载文件。
我本来是想模拟 TAB  按键,再模拟ENTER按键搞定。但是不知道为什么一直失效。

timeie = DateAdd("s", 0.5, Now())
SendKeys "{TAB}", True
timeie = DateAdd("s", 0.5, Now())
SendKeys "{TAB}", True
timeie = DateAdd("s", 0.5, Now())
SendKeys "{TAB}", True

我的代码能够编译通过,但是TAB啊就是不管用。

听说setfocus好像比较管用,但是我这种情况具体代码怎么写呢?求助各位大神。









TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-7 17:48 | 显示全部楼层
怎么focus啊。
  
   ie.SetFocus

这样提示对象不支持该属性或方法

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-7 18:36 | 显示全部楼层
或者有没有人能帮忙看下我的.bat里面打开URL这句话有没有问题:
@echo off
< "%~f0" more +4 > MEYN.vbs
cscript //nologo MEYN.vbs & del MEYN.vbs
goto :eof
set ierunner = CreateObject("wscript.shell")
ierunner.run "cmd /c start iexplore http://w3.huawei.com/axe/servlet/download?dlType=ebs&fileName=20180305/o_13907716_20180305232258.csv.zip&runId=13907716",0


我感觉用这个Run方法打开URL 似乎忽略了我URL ?之后的URL参数。

又没有人能帮助下。如果这个问题能解决,我就不用VBA了,用.bat

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-7 18:40 | 显示全部楼层
ierunner.run "cmd /c start iexplore http://w3.huawei.com/axe/servlet/download?dlType=ebs&fileName=20180305/o_13907716_20180305232258.csv.zip&runId=13907716",0
顺便请大神看看这句.bat有什么问题。
我感觉我打开的时候应该是不全的,最后页面没有正常打开。是不是?之后的URL参数都给我忽略了,有没有什么解决方案呢。如果这个能搞定,那我就不用vba写了

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-7 19:18 | 显示全部楼层
我搞定了。
这个东西是因为IE11里面下载提示不再用对话框,而是提示框。。。所以网上的很多代码不能用
最后是通过360浏览器搞定的。这个浏览器确实强大。
只要提前用.bat调用360浏览器。上述代码就会调用360打开下载界面。
而360不仅能做到无感知登录,还能设置下载时不予提示。。。
还有默认下载路径也能设置。非常好用

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-2-8 15:02 | 显示全部楼层
公司内网无法使用360,只能IE11,咋办,VBA就搞不定了吗?因为下载报表很多,手动下载,总出错还眼花
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 19:33 , Processed in 0.041567 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表