2015-07-03 5 views
0

В настоящее время я пишу код для загрузки CSV-файла и сохранения в определенную папку.IE 10 открыть сохранить и сохранить как

Текущий способ я загрузки файлов из Интернета является:

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 

Я тогда имея окна проводника всплывающих появляются. Ссылка на изображение ниже.

http://fud.community.services.support.microsoft.com/Fud/FileDownloadHandler.ashx?fid=2062fa2a-ad09-4379-bfe0-49abeb5516fc

Есть ли какие-либо идеи, как я бы «нажать» кнопку Сохранить как и поместить его в путь к файлу. Я могу представить, что Sendkeys - это решение.

Это для IE10, работает Excel 2010 и окно 7.

+0

Если у вас есть прямой URL-адрес файла, попробуйте загрузить его с помощью VBA без IE: http://www.analystcave.com/excel-downloading-files-using-vba/ (попробуйте оба метода, если они не работают - страницы 1 и 2) –

+0

Привет, К сожалению, данный веб-сайт работает только в IE. Так должно быть оттуда. – user118282

ответ

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 

Это, очевидно, очень простой код и не нужно все ложные показания для разграничения данных.

Смежные вопросы