我正在使用 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 文件作为第二步处理)。