我目前正在编写一些代码来下载CSV文件并保存到特定文件夹中。
我从网上下载文件的当前方式是:
On Error Resume Next
With Workbooks.Open("Direct Link to the CSV or XLS File")
.SaveAs 'Name of file destination
.Close SaveChanges:=False 'Added this in due to a pop up appearing when downloading a CSV
End With
On Error GoTo 0
我尝试下载的这个特定文件只能在IE中完成。
这是我到目前为止打开网页的代码:
Sub data()
Dim IE As Object
Dim Report As Variant
Set IE = CreateObject("INTERNETEXPLORER.APPLICATION")
IE.Navigate "Name of CSV File URL"
IE.Visible = True
End Sub
然后我出现了一个Windows资源管理器弹出窗口。图片链接如下。
有没有想法我会如何点击"保存为按钮并将其放入文件路径。我可以想象Sendkeys是一个解决方案。
这适用于运行excel 2010和Windows 7的IE10。
答案 0 :(得分:0)
经过一些小试验后,我找到了一个解决方法。相反,我通过excel使用网页查询打开它。
以下是代码:
Workbooks.add
With ActiveSheet.QueryTables.add(Connection:= _
"URL;http\\:thelinkiused.csv" _
, Destination:=Range("$A$1"))
.Name = "transaction"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False
ActiveWorkbook.SaveAs Filepath & "\thelinkIused.csv"
ActiveWorkbook.Close savechanges:=False
这显然是一个非常基本的代码,并不需要所有用于分隔数据的false语句。