使用 WScript 和 MS Edge 下载多个文件会留下打开的 Edge 选项卡

问题描述

我正在使用 Wscript shell 自动下载多个(Excel 文件)。 shell 命令为每次下载在 MS Edge 中创建一个新选项卡(和弹出窗口)。我想要的是创建一个新的 Edge 实例,并在我完成后关闭它。

设置:我有一家第三方公司,它通过电子邮件向我发送下载 Excel 文件链接。如果我单击电子邮件中的链接,则会下载一个文件作为 Excel 中的受保护视图。 Excel 文件由服务器即时生成

为了自动执行此操作,我有一个 VBA 例程,可以循环浏览这些链接的列表(我已从电子邮件中单独提取了这些链接),并且我正在使用 Wscript shell 对象来驱动 Edge。

代码摘录:

Dim wsh As New WshShell

Dim strCmd As String
strCmd = "microsoft-edge:"

Dim strLink As String
strLink = "https:\\somesite\\someserverprocess"    

wsh.Run strCmd & strLink,WaitOnReturn:=True

代码负责将文件下载到 Excel 中,但在 Edge 中为每个文件留下一个新选项卡和一个弹出窗口。由于我将在多个文件上循环,因此最后会留下很多选项卡和弹出窗口。我希望创建一个可以无人看管的流程,因此在此流程完成后真的需要整理一下。

我在 SO 上阅读了有关此主题的其他几个问题(特别是 Edge 缺少 COM 自动化接口),但没有找到答案。我愿意接受建议。虽然我不喜欢 Wscript 作为方法,但我更喜欢从 Excel VBA 运行这个过程(因为我必须在第二步中处理实际的 Excel 文件)。

解决方法

这个答案可能有帮助 Downloading a file in VBA and storing it