【问题标题】:VBA to import selected columns from csv file to excel as text formatVBA将选定列从csv文件导入excel作为文本格式
【发布时间】:2013-09-28 11:15:21
【问题描述】:

我有以下 VBA 代码将选定列从 csv 文件导入到 Excel。所选列应作为文本导入。 例如:000001 应该按原样导入。它不应该截断前导 0。我使用文件系统对象编写了一个 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

【问题讨论】:

    标签: excel vba csv import filesystemobject


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-12-06
      • 2015-02-23
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      相关资源
      最近更新 更多