使用 VBA 读取文本文件,并将其内容根据 class 字段分别保存在工作簿的 sheet1 中的示例代码:
Sub Example()
Dim filePath As String
Dim fileNumber As Integer
Dim line As String
Dim sheet1 As Worksheet
Dim rowNumber As Long
' 要读取的文件路径
filePath = "C:\File.txt"
' 创建新工作簿,并获取要写入数据的工作表
Workbooks.Add
Set sheet1 = ActiveWorkbook.Sheets(1)
' 在要写入数据的工作表中指定列的位置
Dim colName As String
colName = "C" '要保存到的列
' 打开并读取文件
fileNumber = FreeFile()
Open filePath For Input As #fileNumber
' 获取文件第一行中每个字段的位置
line = Line Input #fileNumber
Dim fields() As String
fields = Split(line, ",")
Dim classIndex As Integer
For i = 0 To UBound(fields)
If fields(i) = "class" Then
' 记录 class 字段的位置
classIndex = i
Exit For
End If
Next i
rowNumber = 1
Do Until EOF(fileNumber)
Line Input #fileNumber, line
' 将行按逗号进行拆分
fields = Split(line, ",")
' 将 class 字段的值写入到指定的列中
sheet1.Range(colName & rowNumber).Value = fields(classIndex)
rowNumber = rowNumber + 1
Loop
Close #fileNumber
End Sub
在上面的代码中,我们首先设置要读取的文件路径,
并使用 Workbooks.Add 创建了一个新的工作簿。
然后,我们使用 Set 语句获取了其中的 sheet1。
接下来,我们使用 colName 变量指定了要写入数据的列的位置。
在打开文件并读取其内容之后,
我们使用 Line Input #fileNumber 函数读取文件的第一行,
将其按逗号进行拆分,并查找 class 字段的位置。
在处理每一行的数据时,我们再次将该行按逗号进行拆分,
并将 class 字段的值写入到指定的列中。
请注意,上面的代码假定每个文件的格式与以下示例类似:
ID,name,class
1,John,A
2,Alice,B
3,Bob,A
4,Eve,C
如果每个文件的格式有所不同,
则可以根据需要更改对应的代码,
以确保将数据正确地写入到工作表中。