vba HTML保存为Excel,VBA实现网页上的文件"另存为”(需要调用窗口)

想要下载网页的 CSV文件 ,因为需要打开网页后,点击“SAVE AS EXCEL”的链接,出现“下载文件”的窗口,点击“保存”,出现“另存为”的窗口,修改文件的保存名称,点击保存。才算完成。

在这里最重要的问题是:color=DarkRed]无法得到下载CSV文件的具体地址,只能通过点击链接--点击保存--另存为  来完成

为了用VBA实现这一系列的功能,而且避免需要手动使用鼠标或者键盘进行保存操作,我想了很多办法。

1.我试过QueryTable, 但因为所要下载的内容不是网页显示的数据,不能实现。

2. 我也试过API 的 URLDownloadFile,也无法实现,因为没有需要下载文件的具体地址

3. 我也尝试过右键获得文件的具体地址,但是无法实现。

4. 试过IE 控件,这样将 ie.document.execcommand "saveas" 只是将网页“另存为”,而不是下载我所需要的文件。

所以,我觉得可能只有用点击链接--点击保存--另存为的方法来实现所需CSV文件的下载。

因为我要下载的文件是内部网的文件,所以无法把例子直接放上来。但是我在坛子里发现了一个类型的帖子,http://club.excelhome.net/viewth ... p;page=1#pid3360137, 我把那位楼主的例子拿来试一下,希望高手能够帮帮我。我觉得这个也是一个很典型的例子,因为网页下载需要用到鼠标控制的另存为,在坛子里还没有看到成功的例子。

下面是链接的帖子中的yq7654提供的例子;

超链接是个DOC文件,我现在要用ÿ

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
公司各种系统需要各式各样的导入模板,需要快速的制作模板另存为特定的工作簿,工作簿的命名要求一定的格式:年月日时分+区分标识。 在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。通常用Array数组函数选定指定的多个工作表: Worksheets(Array("清单信息")).Copy 复制问题解决后,使用saveas解决另存为的问题。在代码中用format函数取现在的时间,VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT 。 Format(Now, "yyyymmddhhmm") 把format函数嵌套进 saveas 代码中,即可实现工作簿命名自动取当前的时间,必要是可以加下后缀,避免工作簿名称重复。format函数取到分钟即可。不过在一分钟内不要再点另存为,否则工作簿名称重复。另存为后活动工作簿为新的工作簿。想返回原来工作簿的童鞋们可以用Activate返回指定的工作表。这样做代码,即高效又避免工作簿名称杂乱无章。 公司各种系统需要各式各样的导入模板,需要快速的制作模板另存为特定的工作簿,工作簿的命名要求一定的格式:年月日时分+区分标识。 在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。通常用Array数组函数选定指定的多个工作表: Worksheets(Array("清单信息")).Copy 复制问题解决后,使用saveas解决另存为的问题。在代码中用format函数取现在的时间,VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT 。 Format(Now, "yyyymmddhhmm") 把format函数嵌套进 saveas 代码中,即可实现工作簿命名自动取当前的时间,必要是可以加下后缀,避免工作簿名称重复。format函数取到分钟即可。不过在一分钟内不要再点另存为,否则工作簿名称重复。另存为后活动工作簿为新的工作簿。想返回原来工作簿的童鞋们可以用Activate返回指定的工作表。这样做代码,即高效又避免工作簿名称杂乱无章。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值