2017-06-06 87 views
1

下面的代碼無法正常工作和投擲錯誤複製CSV文件到Excel中使用錄製的宏

無效的過程調用或參數。

這是將CSV文件數據導入Excel文件的記錄宏代碼。

Sub CopyCSVtoExcel() 
' 
' CopyCSVtoExcel Macro 
' 
' 
    With ActiveSheet.QueryTables.Add(Connection:= _ 
     "TEXT;C:\Users\hkum29\Desktop\New folder\data.csv", Destination:=Range("$A$1" _ 
     )) 
     .CommandType = 0 
     .Name = "data" 
     .FieldNames = True 
     .RowNumbers = False 
     .FillAdjacentFormulas = False 
     .PreserveFormatting = True 
     .RefreshOnFileOpen = False 
     .RefreshStyle = xlInsertDeleteCells 
     .SavePassword = False 
     .SaveData = True 
     .AdjustColumnWidth = True 
     .RefreshPeriod = 0 
     .TextFilePromptOnRefresh = False 
     .TextFilePlatform = 437 
     .TextFileStartRow = 1 
     .TextFileParseType = xlDelimited 
     .TextFileTextQualifier = xlTextQualifierSingleQuote 
     .TextFileConsecutiveDelimiter = False 
     .TextFileTabDelimiter = False 
     .TextFileSemicolonDelimiter = False 
     .TextFileCommaDelimiter = True 
     .TextFileSpaceDelimiter = False 
     .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _ 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _ 
     , 1, 1, 1, 1, 1, 1, 1) 
     .TextFileTrailingMinusNumbers = True 
     .Refresh BackgroundQuery:=True 
    End With 
End Sub 
+0

我猜想,該文件不存在或已經有'A1'表。 – UGP

+0

它是否工作,如果你刪除線'.Refresh BackgroundQuery:= True'? –

+0

即使在刪除行後,也不行.Refresh BackgroundQuery:= True –

回答

0

按照MSDN的KB QueryTable.CommandType Property (Excel)

您可以設置CommandType屬性只有在查詢類型屬性的查詢表或數據透視表高速緩存的值是xlOLEDBQuery。

既然它既不是,只需評論行.CommandType = 0或刪除該行。