VBA将csv文件中的选定列导入为文本格式的Excel

时间:2013-09-28 11:15:21

标签: excel vba csv import filesystemobject

我有以下VBA代码将csv文件中的选定列导入excel。选定的列应作为文本导入。 对于Ex:000001应该按原样导入。它不应截断前导0。我使用文件System对象编写了一个VBA来选择整个文件。但是,它只选择前2个。

我的要求: 1.仅选择某些列 2.所有内容都应以文字形式导入

我的代码:

Sub Read_Text_File()
Dim fsoObj As Scripting.FileSystemObject
Dim fsoFile As Scripting.File
Dim fsoTS As Scripting.TextStream
Dim vaData As Variant
Dim i As Long, j As Long

Set fsoObj = New Scripting.FileSystemObject
Set fsoFile = fsoObj.GetFile("C:\Users\Sandeep\Downloads\TestFile.csv")
Set fsoTS = fsoFile.OpenAsTextStream(ForReading, TristateFalse)


j = 1
Do Until fsoTS.AtEndOfStream
vaData = Split(fsoTS.ReadLine, Chr(44))
Range(Cells(j, 1), Cells(j, 2)).Value = vaData
j = j + 1
Loop

fsoTS.Close
Set fsoFile = Nothing
Set fsoObj = Nothing
End Sub

1 个答案:

答案 0 :(得分:0)

我目前是移动的,因此我无法提供任何示例代码,但您可以自动执行excel以打开.csv文件,将所有单元格格式化为文本并使用excel自己的能力将行拆分为列。最后,您可以删除不需要的列或仅处理所需的列。我建议您手动执行上述步骤,录制宏。然后,您可以根据需要编辑生成的代码。如果您需要更多信息,请告诉我,以便我可以在访问vba de。

后发布一些代码