VBA代码调出打开或保存选项的对话框,但我卡在那里

首先在这里发表,所以对我很好。 我正试图从网站上下载一个excel文件。 该网站有一个button,可以按下来下载Excel文件。 我看了代码,并能够想出一个URL,如果进入IE直接带我下载“打开/保存”对话框。 然后,我在Excel中使用该url在VBA中,打开下载框要求打开或保存该文件。

我想每次保存文件到相同的名称,因为我将有另一个工作簿查看数据并返回结果。

我知道这个问题已经被问了一百万次,因为我已经search,但没有代码,我已经尝试将工作。

这是我的代码到目前为止

Sub TESTING() 'Need to reference to Microsoft Internet Controls Dim URL As String 'URL = Worksheets("References & Resources").Range("URLMSL") URL = "http://cts/Tacs/OperationDrillExport/76" Dim IE As Object Set IE = CreateObject("internetexplorer.application") IE.Visible = True IE.Navigate URL Do While IE.ReadyState <> 4 DoEvents Loop End Sub 

该网站是一个内部网站,所以它不会从外面工作,但我会认为代码是相同的任何方式。

对不起,我的代表不够高,不能发表评论,所以这不是一个答案。 这是一个问题/build议…我想问你是否试图让程序自动下载文件,或者如果“卡住”,你说对话框打开/保存button没有'让你继续; 即,你实际上不能点击打开/保存button? 我问的原因是,我认为这将是更有效的,如果url总是相同的只是通过vba下载文件,而不使用对话框。

你可能会在这里find一些答案: 如何使用VBA下载文件(没有Internet Explorer)

所以我继续这个混乱,现在我如此接近。 我完全去了一个不同的方向,我现在能够像我想要的那样保存文件。 问题是只能在代码末尾使用MsgBox命令,我不想显示消息框,因为我不希望用户必须单击“确定”。 如果我删除这个代码,它不会保存文件。

 Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _ (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, _ ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long Sub Example() DownloadFile$ = "file.xlsx" URL$ = "http://cts/Tacs/OperationDrillexport/76234" LocalFilename$ = "C:\Users\q6bxh0\Documents\downloads\" & DownloadFile MsgBox URLDownloadToFile(0, URL, LocalFilename, 0, 0) = 0 End Sub 

这太令人沮丧了。 该文件甚至保存之前,我甚至点击确定,所以这只是一些有关的命令,允许它保存时删除不。 我是如此新,它可能是如此简单,但没有MsgBox命令它根本不会保存。 可能只是需要一个不同的命令,但我无法弄清楚。

所以现在它的工作原理,但我只需要弄清楚如何自动closuresMsgBox,由我读你不能做,或者我需要一个不同的命令来做什么,当我运行MsgBox发生的事情。