2015-05-13 2 views
0

Я хочу, чтобы иметь возможность щелкнуть по кнопке и выбрать файл, который я хочу импортировать. Я сделал это, но после он говорит, что мой файл был импортирован, ничего не происходит.Импорт CSV-файла в книгу

Что мне не хватает?

Sub GetImportFileName() 
    Dim Filt As String 
    Dim Title As String 
    Dim FileName As Variant 
    Dim FilterIndex As Integer 

    Filt = "Comma Separated Files (*.csv),*.csv," 
    FilterIndex = 5 
    Title = "Select a File to Import" 

    FileName = Application.GetOpenFilename _ 
    (FileFilter:=Filt, _ 
    Title:=Title) 

    If FileName = False Then 
     MsgBox "No file was selected." 
     Exit Sub 
    End If 

    MsgBox "You selected " & FileName  
End Sub 

ответ

1

Я не вижу никакого кода, который бы импортировал CSV. Вы получаете только имя_файла. У вас отсутствует что-то вроде этого (Comma (,) в качестве разделителя)

With ActiveSheet.QueryTables.Add(Connection:= _ 
    "TEXT;" & fileName & "", Destination:=Range("$A$1" _ 
    )) 
    .CommandType = 0 
    .FieldNames = True 
    .RowNumbers = False 
    .FillAdjacentFormulas = False 
    .PreserveFormatting = True 
    .RefreshOnFileOpen = False 
    .RefreshStyle = xlInsertDeleteCells 
    .SaveData = True 
    .AdjustColumnWidth = True 
    .RefreshPeriod = 0 
    .TextFilePromptOnRefresh = False 
    .TextFilePlatform = 852 
    .TextFileStartRow = 1 
    .TextFileParseType = xlDelimited 
    .TextFileTextQualifier = xlTextQualifierDoubleQuote 
    .TextFileConsecutiveDelimiter = False 
    .TextFileTabDelimiter = False 
    .TextFileSemicolonDelimiter = False 
    .TextFileCommaDelimiter = True 
    .TextFileSpaceDelimiter = False 
    .TextFileColumnDataTypes = Array(1, 1) 
    .TextFileTrailingMinusNumbers = True 
    .Refresh BackgroundQuery:=False 
End With 
Смежные вопросы