Vba 是否将所有文本文件加载到一个工作表?
在Excel 2010中,我希望将所有文本文件数据从文件夹加载到一个工作表中 每张图纸应包含一个文本文件的数据 每张图纸都由第一行的页眉以管道分隔 更新宏 循环未加载数据 我仍然需要弄清楚如何获得每个文件中的列数Vba 是否将所有文本文件加载到一个工作表?,vba,excel-2010,Vba,Excel 2010,在Excel 2010中,我希望将所有文本文件数据从文件夹加载到一个工作表中 每张图纸应包含一个文本文件的数据 每张图纸都由第一行的页眉以管道分隔 更新宏 循环未加载数据 我仍然需要弄清楚如何获得每个文件中的列数 .TextFileColumnDataTypes = Array(1, 1, 1) 这一行表示该文件中的三列。这应该根据文件列的不同而有所不同。最后我完成了这项工作 这是我的宏 Sub LoadTextFilesLoop() Dim objFSO As Object Dim
.TextFileColumnDataTypes = Array(1, 1, 1)
这一行表示该文件中的三列。这应该根据文件列的不同而有所不同。最后我完成了这项工作
这是我的宏
Sub LoadTextFilesLoop()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim ws As Worksheet
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Get the folder object associated with the directory
Set objFolder = objFSO.GetFolder("C:\Export\")
'Loop through the Files collection
For Each objFile In objFolder.Files
NewFileImport (objFile.Name)
Next
'Clean up!
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
End Sub
Sub NewFileImport(FileName)
Dim fName As String
fName = Left(FileName, Len(FileName) - 4)
Sheets.Add After:=Sheets(Sheets.Count)
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Export\" + FileName, _
Destination:=Range("$A$1"))
.Name = fName
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
ActiveSheet.Select
ActiveSheet.Name = Left(fName, 31)
End Sub
Sub LoadTextFilesLoop()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim ws As Worksheet
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Get the folder object associated with the directory
Set objFolder = objFSO.GetFolder("C:\Export\")
'Loop through the Files collection
For Each objFile In objFolder.Files
NewFileImport (objFile.Name)
Next
'Clean up!
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing
End Sub
Sub NewFileImport(FileName)
Dim fName As String
fName = Left(FileName, Len(FileName) - 4)
Sheets.Add After:=Sheets(Sheets.Count)
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Export\" + FileName, _
Destination:=Range("$A$1"))
.Name = fName
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
ActiveSheet.Select
ActiveSheet.Name = Left(fName, 31)
End Sub