我有這樣的宏批量導入的Excel電子表格包含100多個在同一個文件夾中的.txt文件:100個導入文本文件導入Excel一次
Sub QueryImportText()
Dim sPath As String, sName As String
Dim i As Long, qt As QueryTable
With ThisWorkbook
.Worksheets.Add After:= _
.Worksheets(.Worksheets.Count)
End With
ActiveSheet.Name = Format(Now, "yyyymmdd_hhmmss")
sPath = "C:\Users\TxtFiles\"
sName = Dir(sPath & "*.txt")
i = 0
Do While sName <> ""
i = i + 1
Cells(1, i).Value = sName
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & sPath & sName, Destination:=Cells(2, i))
.Name = Left(sName, Len(sName) - 4)
.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 = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
sName = Dir()
For Each qt In ActiveSheet.QueryTables
qt.Delete
Next
Loop
End Sub
每個.txt文件具有相同的結構: 標題,ID,日期,createdBy,文本。
宏是工作,但:
- 我希望每個文件是在一個行(列這個宏顯示它們)
這個Excel將他們由出口爲.csv是用MySql在我的joomla網站導入
非常感謝您的幫助!
即使您提到了結構,我是否可以看到文本文件的截圖/示例。我想在發佈解決方案之前測試我的代碼。 –
感謝您的幫助Siddharth!下面是.txt的一個文件: 「IN TORONTO!」,「15」,「2012-11-25 14:12:43」,「Arone」,「我希望每個文件都排成一列,但我的文本包含
HTML標記,它將我的文本分割成不同的單元格,對此有任何想法? – JinSnow
如果你不介意,你可以上傳到任何文件共享網站,並在這裏分享鏈接?我無法在評論中提出很多建議。 –