Нужно
Задача: создать макрос по импорту файла csv с возможностью выбора файла.
Как обычно, ActiveSheet.QueryTables.Add предлагает конкретный файл, а мне нужна возможность выбора файла.
Добавляю Application.GetOpenFilename, получаю код, но выдает ошибку 1004 на строке в режиме отладки .Refresh BackgroundQuery:=False
Основной код не менял (только строчка .Name = "filename", изменено, соответственно filename), чувствую, что ошибка где-то при выборе файла, а где - понять не могу.
Sub Макрос3()
'
' Макрос3 Макрос
FileName = Application.GetOpenFilename
If FileName = False Then Exit Sub
With ActiveSheet.QueryTables.Add(Connection:="TEXT;file:///" & FileName, Destination:=Range("$A$1"))
.Name = "filename"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.RefreshPeriod = False
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1251
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Columns("A:A").ColumnWidth = 11.17
Columns("C:C").ColumnWidth = 12
Columns("F:F").ColumnWidth = 45.17
Columns("G:G").ColumnWidth = 28.33
End Sub